1
Double x = 11.123456789123456;
string y = Convert.ToString(x);
//gives y=11.1234567891235
//y should be =11.123456789123456

上記のコードから、最後の桁(6)が切り捨てられないようにするにはどうすればよいですか

4

3 に答える 3

4

double15 ~ 16 桁までしか正確ではありません。type を使用してみてdecimalください

MSDNを参照

小数

于 2013-09-10T07:53:30.037 に答える
1

これが発生する理由は、Double が 8 バイトを占有し、精度が 15 ~ 16 桁であるためです。代わりに小数を使用

Decimal x = 11.123456789123456M;
string y = Convert.ToString(x);
//gives y=11.12345678912356

このリンクを参照して、cds333 による回答を探してください。

于 2013-09-10T08:05:56.277 に答える