Also mit float wenn ich eine Zahl gebe, druckt es mit 6 Dezimalziffern. Ich weiß, dass ich die Anzahl der Ziffern mit etwas wie "% .2f" anpassen kann (dann hat die Nummer nur zwei). Aber meine Frage ist; Gibt es einen Befehl, der die genaue Anzahl der eingegebenen Ziffern ausgibt?Einstellung der Nachkommastellen
Beispiel, wenn I Eingangsnummer 2,5
Mit nur printf ("% f", Nummer); Es wird gedruckt 2.500000
Oder mit printf ("% .2f", Nummer); es wird 2,50
druckt So ist es eine Möglichkeit, dass es 2,5 (mit einer Nachkommastelle) und in der gleichen Zeit drucken kann, wenn ich Eingabenummer wie 2,51 es, diese Zahl mit 2 Dezimalstellen gedruckt werden (2.51)
Es gibt keinen direkten Weg, nein. Die Variable hat keine Möglichkeit, sich daran zu erinnern, wie der Benutzer die Zahl eingegeben hat. –
Wenn Sie einen Wert lesen, behandeln Sie ihn als Zeichenfolge, wandeln Sie ihn in Double/Float in separate Variable um und verwenden Sie je nach Bedarf. – Crozin
Als eine binäre Gleitkommazahl werden 2,5 und 2,50 genau gleich aussehen. –