Max*_*Max 0 c# decimal visual-studio
为什么Cbm充满了43而不是0.43
string strCbm;
decimal Cbm;
strCbm = unConvertedCbm.CustomValue.Replace(".", ",");
Cbm = (Quantity * Decimal.Parse(strCbm));
Run Code Online (Sandbox Code Playgroud)
供您参考:
unConvertedCbm.CustomValue =填充0.43
Quantity =填充1
我将在下面描述这段代码:
在我看来,Cbm应该是0.43而不是43.
为什么Cbm充满了43而不是0.43?
因为您的文化的小数分隔符是,,而不是.可能.尝试这样做(0.5).ToString(),看看你有你的结果0.5或0,5.
事实是你不应该使用Replace,你应该这样做:
var culture = new CultureInfo("someculturegoeshere");
Run Code Online (Sandbox Code Playgroud)
然后
Decimal Cbm = Decimal.Parse(strCbm, culture);
Run Code Online (Sandbox Code Playgroud)