AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

sql-round

Ein Thema von khh · begonnen am 11. Apr 2010 · letzter Beitrag vom 11. Apr 2010
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

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

Re: sql-round

  Alt 11. Apr 2010, 12:38
Schau mal im IbExpert unter UDF nach.

Was liefert
select bruttopreis/107 * 100 as brutto, Round(bruttopreis/107 * 100,3) as netto from artikelpreise;
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#12

Re: sql-round

  Alt 11. Apr 2010, 12:43
Zitat von mkinzler:
Schau mal im IbExpert unter UDF nach.

Was liefert
select bruttopreis/107 * 100 as brutto, Round(bruttopreis/107 * 100,3) as netto from artikelpreise;
das liefert in brutto und netto das Gleiche nämlich genauso 0,900 , also die falsche Rundung

UDF gibts nur get_context und set_context
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: sql-round

  Alt 11. Apr 2010, 12:52
Dann liegt der Fehler ja nicht am Round sondern an der Berechnung, denn 0,900 ergibt auf 3 Nachkommastellen gerundet 0,900
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#14

Re: sql-round

  Alt 11. Apr 2010, 13:05
Zitat von mkinzler:
Dann liegt der Fehler ja nicht am Round sondern an der Berechnung, denn 0,900 ergibt auf 3 Nachkommastellen gerundet 0,900
ich glaube jetzt haben wir uns falsch verstanden


ich rechne 1,000 / 107 * 100 = 09,345 von hand.

die Formel rechnet 1,000 / 107 * 100 = 09,000
SQL-Code:
update artikelpreise set NETTOPREIS = round((bruttopreis/107 * 100),5);
oder
update artikelpreise set NETTOPREIS = round((bruttopreis/107 * 100),3);
dabei hab ich grad gemerkt es ist egal ob 3 oder 5 oder sonst was als 2tes Argument in der Formel steht

das Ergebmis ist das Gleiche

auch
select bruttopreis/107 * 100 as brutto, Round(bruttopreis/107 * 100,5) as netto from artikelpreise; bringt das gleiche Ergebnis
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: sql-round

  Alt 11. Apr 2010, 13:19
Zitat:
ich glaube jetzt haben wir uns falsch verstanden Sad
Nein, denn das Round wird wohl schon mit dem falschen Wert gefüttert.

Was ergibt
select bruttopreis/1.07 from artikelpreise;
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#16

Re: sql-round

  Alt 11. Apr 2010, 13:24
Zitat von mkinzler:
Was ergibt
select bruttopreis/1.07 from artikelpreise;
das ergibt den richtigen wert

ist aber doch das Gleiche wie bruttopreis/107 * 100 ?
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: sql-round

  Alt 11. Apr 2010, 13:29
Jein. Beim Berechnen scheint der kleinste kompatible Typ verwendet zu werden.

bei 1.0 / 107 ist das der Integer von 107
->
bruttopreis/107.0 * 100.0
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#18

Re: sql-round

  Alt 11. Apr 2010, 13:44
Zitat von mkinzler:
Jein. Beim Berechnen scheint der kleinste kompatible Typ verwendet zu werden.

bei 1.0 / 107 ist das der Integer von 107
->
bruttopreis/107.0 * 100.0
das ergibt dann 0,930 anstatt 09,345

naja ich machs jetz mit bruttopreis/1.07, dann passts


war jetzt wirklich ne schwere Geburt


ich danke euch.

Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:48 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