Double x = 11.123456789123456;
string y = Convert.ToString(x);
//gives y=11.1234567891235
//y should be =11.123456789123456
上記のコードから、最後の桁(6)が切り捨てられないようにするにはどうすればよいですか
Double x = 11.123456789123456;
string y = Convert.ToString(x);
//gives y=11.1234567891235
//y should be =11.123456789123456
上記のコードから、最後の桁(6)が切り捨てられないようにするにはどうすればよいですか
これが発生する理由は、Double が 8 バイトを占有し、精度が 15 ~ 16 桁であるためです。代わりに小数を使用
Decimal x = 11.123456789123456M;
string y = Convert.ToString(x);
//gives y=11.12345678912356
このリンクを参照して、cds333 による回答を探してください。