2桁のdouble値に4桁の小数点(ソリューションで要求される)を追加しようとすると、奇妙なことが起こりました。
不正な値:
var result = string.Format("{0:#,0.0000}", Math.Truncate(2.03*10000)/10000);
//2.0299を返します
正しい値:
var result = string.Format("{0:#,0.0000}", Math.Truncate(2.02*10000)/10000);
//2.0200を返します
と:
var result = string.Format("{0:#,0.0000}", Math.Truncate(2.04*10000)/10000);
//2.0400を返します
なぜこれが2.03でのみ発生するのか考えてみてください。入力値として12.03は12.0300btwを返します。
迷っています。助けてください。