私のビューには2つのテキストフィールドがあります。値を入力するようにユーザーに指示した後、私はfloat
に変換して計算します。NSStringをfloatに変換すると不正確な値が生成される
私は次のコードを使用し、ユーザがtextField1
で22.8を入力すると
variable1 = [textField1.text floatValue];
variable2 = [textField2.text floatValue];`
を、私はvariable1
に22.80005を取得します。
私は正確な値を得られません!
正確な10進値を取得するにはどうすればよいですか?加算は、計算の精度に影響する可能性があります。
私は10進値を比較する必要があるアプリがあります。構造体は、値が文字列形式であり、文字列を浮動小数点数に変換するとき、精度は正確ではありません。たとえば、-0.123456を文字列からdoubleに変換すると-0.12345が返されますが、この場合は正確な値が必要です。 – madLokesh
通常、正確な値は通貨計算でのみ必要です。正確な数値は、_fixed point arithmetics_で得られます(基本的には、固定長の小数点以下を使って 'long long'または' long long'を使用します)。あるいは、そのために設計された 'NSDecimalNumber'を使うことができます。 – Sulthan
実際に値は小数点以下の桁で変化し、いくつかは6個、あるものは9個、あるものは5個などあります。 – madLokesh