AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi StringGrid Zellen wie Excel Kommastellen unterdrücken
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid Zellen wie Excel Kommastellen unterdrücken

Ein Thema von Stecky2000 · begonnen am 18. Mai 2008 · letzter Beitrag vom 20. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
Stecky2000

Registriert seit: 7. Mai 2008
Ort: Trebur
66 Beiträge
 
Delphi 2010 Professional
 
#1

StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:03
Hallo allerseits,


habe wieder mal ein Problem, finde aber keine Lösung, ggf. gibt es keine?

Ich habe ein StringGrid in das ich berechnete werte schreibe. Es handelt sich dabei um Arbeitszeiten, dezimal. Ein beispiel:

ich berechne die Differenz von 04:30 zu 13:20 und bekomme dezimal 8.33333333 Stunden raus.
In Excel auch. Nun schreibe ich das in ein StringGrid, damit ich aber im StringGrid nur 8.33 angezeigt bekommen, also nur 2 Nachkommastellen schreibe ich es mit folgendem Code rein:

StringGrid2.Cells[7, i] := format('%2.2f',[xsum]); Das Problem ist nun, wenn ich nachfolgend Berechnungen mit den StringGrideinträgen durchführe, bekomme ich falsche Ergebnisse:

Beispiel: 8.33 + 8.33 + 8.33 + 8.83 etc.
ergibt ein kleineres Ergebnis als
8.3333333 + 8.3333333 + 8.3333333 + 8.8333333 etc.

So, in Excel wird in der zelle 8,33 angezeigt, wenn ich die Anzeige ändere sehe ich jedoch das tatsächlich 8,33333333 drin steht.

Im StringGrid scheint tatsächlich nur 8.33 drin zu stehen und die restlichen Nachkommastellen werden nicht nur nicht angezeigt, sie sind tatsächlich nicht da.

Gibt es da eine Lösung?
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:24
Hallo Stecky2000,

zum Unterschied zu Excel formatiertst Du im StringGrid nicht die Werte auf 2 Stellen sondern schreibst tatsächlich nur 2 Nachkomastellen rein. Das gleiche Ergebnis bekommt man in Excel auch wenn man 8.33 reinschreibt. Entweder schreibt man die original Werte ins StringGrid und formatiert die Werte jeder Zelle auf 2 Nachkommastellen, oder man führt die Berechnungen direkt mit den Zahlenwerte durch und zeigt sie im StringGrid nur an.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:25
Um das Verhalten von Excel nachzubilden, musst du die eigentlichen Werte getrennt speichern.
Markus Kinzler
  Mit Zitat antworten Zitat
Stecky2000

Registriert seit: 7. Mai 2008
Ort: Trebur
66 Beiträge
 
Delphi 2010 Professional
 
#4

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:31
Ich hoffe ich verstehe Dich richtig.

1. Ich kann die Berechnungen nicht mit anderen Werten durchführen.
Das StringGrid hat 9 Spalten und 25 Zeilen. Die erste Spalte trägt die laufenden Nr., die erste Zeile die Bezeichnung Mo, Di, Mi bis So und eine Summenspalte. In jeder Zeile werden die Werte der Tage addiert und in die Summenspalte geschrieben. Die Werte aller Zeilen in der Summenspalte werden wiederum addiert und der Wert dann zu weiteren Berechnung verwendet.

2. Du schreibst "die Werte original ins StringGrid schreiben und auf 2 Nachkommastellen formatieren". Genau das will ich, aber wie?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:34
Steht doch oben
Markus Kinzler
  Mit Zitat antworten Zitat
Stecky2000

Registriert seit: 7. Mai 2008
Ort: Trebur
66 Beiträge
 
Delphi 2010 Professional
 
#6

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:35
Wo oben? Meinst Du deine Aussage mit dem getrennt speichern?
Das würe ich so verstehen, dass ich ein weiteres StringGrid einfüge und die Eigenschaft Visible auf False setze und das zum Rechnen nehme.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:36
Nein das Format()
Markus Kinzler
  Mit Zitat antworten Zitat
Stecky2000

Registriert seit: 7. Mai 2008
Ort: Trebur
66 Beiträge
 
Delphi 2010 Professional
 
#8

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:39
Sorry, ich bin ja kein Programmierer.

Ich blicke nicht durch.

Ich habe das Format zum in die Zellen schreiben benutzt, das kürzt doch aber die Stellen?!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:40
Ja deshalb der der Vorschlag mit dem getrennt speichern oder halt Ownerdraw
Markus Kinzler
  Mit Zitat antworten Zitat
Stecky2000

Registriert seit: 7. Mai 2008
Ort: Trebur
66 Beiträge
 
Delphi 2010 Professional
 
#10

Re: StringGrid Zellen wie Excel Kommastellen unterdrücken

  Alt 18. Mai 2008, 22:46
Danke, dann werde ich tatsächlich ein zweites unsichtbares Grid verwenden.
Ich hoffe es wird der Performance kein Abbruch tun
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz