例:7.2828を持っていれば、2828を整数として取得したいだけです。ダブルの浮動部分を整数に変換することはできますか?(文字列変換は使用しません)
0
A
答えて
3
10進
は小数点にあなたの番号を変換して、これを行う...あなたの友達です。
decimal d = (decimal)7.2828;
int val = decimal.GetBits(d - decimal.Truncate(d))[0];
小数点以下のことは、valをintとして格納し、小数点位置を格納することです。 C++で
3
d
が元の値の場合は、次のようにします。
((int)(d * 10000)) % 10000
0
は、double modf(double, double *)
を使用します。
double value;
double fractional_part;
double integer_part= modf(value, &fractional_part);
int fractional_part_as_integer= fractional_part * 10000; // insert appropriate scale here.
0
私はあなたができるとは思いません。ほとんどのCPUは、7.2828を二重として表すことはできません(IBMメインフレームは例外です)。理由は、2のべき乗の合計として2倍を表すからです。「7」の部分は簡単です:1 + 2 + 4。断片的ビットはより難しい:0.25 + 0.0.03125 + 0,0009765625 ..... - 無限のシーケンス。実際的な理由から、このシーケンスは切り捨てられます。結果として生じるダブルは7.2828に近いでしょう。おそらく7.282800000000001245。これはおそらく(32ビット)整数に収まらないでしょう。
関連する問題
- 1. 文字列のリストを浮動小数点数に変換できません
- 2. 文字列を浮動小数点に変換しますか?
- 3. 整数を文字列に変換すると動作しません
- 4. 変数を使用したバッチファイルの部分文字列置換
- 5. F#で浮動小数点数を文字列に変換しますか?
- 6. Jackson JSONは整数を文字列に変換します
- 7. 文字列を浮動小数点数に変換する
- 8. ダブルからフロートに変換することはできません
- 9. なぜこの未使用のself.hashメソッドは "文字列を整数に変換できません"というエラーを引き起こしますか?
- 10. 文字列をダブルに変換
- 11. 座標文字列を浮動小数点に変換する
- 12. 文字列を浮動小数点に変換する
- 13. 変換文字列は、整数に文字列内の数字を分離し、変数
- 14. Julia:数値文字列を浮動小数点または整数に変換する
- 15. 文字列を整数に変換してテストするには?
- 16. (ArgumentError)はリストを文字列に変換できません
- 17. はnilを文字列に変換できません
- 18. 整数を文字列に変換して各文字を使用する
- 19. PHPで文字列を整数に変換するには?
- 20. 文字列を整数に変換
- 21. 分数をバイナリ文字列に変換しますか?
- 22. バイナリ(文字列)を浮動小数点数に変換するには?
- 23. 文字列から文字列への変換Struts 2での変換は機能しませんか?
- 24. ハッシュを文字列に変換できませんか?
- 25. 数字の文字配列を整数に変換する
- 26. 文字列を整数に変換するには?
- 27. C++で文字列を整数に変換する方法は?ここ
- 28. pandasはデータフレーム内の複数の列に対して文字列を浮動小数点に変換します
- 29. 整数を文字に変換する
- 30. 文字列をメモリストリームに変換する - メモリストリームは展開できませんか?
私はこれが重複していることを知っています(私はある時点で回答しました)が、7.28と7.0028の両方が28の答えで終わることに気づきましたか?元の浮遊部分が何であるか分かりません。 –
これらの2つの数値をどのように処理するかを明確にすることができます:7.02828と7.000002828 –
0.000000000125657542619998のようなものをどのように処理したいですか? – MartW