C# decimal.TryParse和十进制变量
我从服务返回的值为C# decimal.TryParse和十进制变量,c#,.net,C#,.net,我从服务返回的值为4128.27797873696027992918696321asstring。目标是将结果分配给decimal变量Foo。因此,我尝试了以下方法: 通过执行以下操作将字符串解析为十进制: var returnValue = value?.Length < 28 ? value : value?.Substring(0, 28); decimal.TryParse(returnValue, NumberStyles.Float, CultureInfo.I
4128.27797873696027992918696321
asstring
。目标是将结果分配给decimal
变量Foo
。因此,我尝试了以下方法:
通过执行以下操作将字符串解析为十进制:
var returnValue = value?.Length < 28 ? value : value?.Substring(0, 28);
decimal.TryParse(returnValue, NumberStyles.Float, CultureInfo.InvariantCulture, out var parsed);
var returnValue=value?长度<28?值:值?子字符串(0,28);
decimal.TryParse(returnValue、NumberStyles.Float、CultureInfo.InvariantCulture、out-var解析);
虽然我确实获得了parsed
变量的值,但是,当我尝试通过执行Foo=parsed
将结果设置为Foo
时,Foo
的值为0
。我无法理解为什么Foo
0
PS:
numberstyle.Float
需要保持十进制的不变。TryParse什么是Foo?可以显示它的声明吗?可以显示用于将值赋给Foo
的代码吗?请提供一个-十进制。TryParse
可以与我的“4128.27797873696027992918696321”配合使用。抱歉,因为我对Setter
有一个限制,这是不允许的。谢谢大家。特别感谢@JonSkeet先生!请投票并关闭这个