如何从 Web API 获取十进制值 .00
How to get decimal value .00 from Web API
我有一个网络 API 方法 returns 十进制值 52.00,当我调试网络时 API 该值是正确的但是当它 returns 结果在邮递员中,它只变成 52,但它应该是 52.00,如果小数点大于 2,则将其四舍五入为 .00
这是我调试时的结果
这是邮递员的结果
52、52.0、52.00 或 52.000 是相同的值。
您想要的似乎是将小数、浮点数、双精度数或整数格式化为 2 位小数。
喜欢 Leave only two decimal places after the dot.
如果您需要更具体的格式,可以查看有关数字字符串格式的 Msdn 参考指南。 https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings
但问题还是很模糊:当精度超过2位小数时,期望的结果是什么?您要 trim 还是四舍五入?
我不会将这些格式应用于 Json,因为您可能会失去精度,但只会格式化显示。
- 如果你的属性数据类型是字符串那么你可以使用
String.Format("{0:0.00}", 52.00);
decimalVar.ToString("F"); 23.456 → 23.46
- 如果属性是十进制的,它自身与圆
Decimal.Round(52.167, 2)
52.167 → 52.17
这可能会有所帮助。
我有一个网络 API 方法 returns 十进制值 52.00,当我调试网络时 API 该值是正确的但是当它 returns 结果在邮递员中,它只变成 52,但它应该是 52.00,如果小数点大于 2,则将其四舍五入为 .00
这是我调试时的结果
这是邮递员的结果
52、52.0、52.00 或 52.000 是相同的值。
您想要的似乎是将小数、浮点数、双精度数或整数格式化为 2 位小数。
喜欢 Leave only two decimal places after the dot.
如果您需要更具体的格式,可以查看有关数字字符串格式的 Msdn 参考指南。 https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings
但问题还是很模糊:当精度超过2位小数时,期望的结果是什么?您要 trim 还是四舍五入?
我不会将这些格式应用于 Json,因为您可能会失去精度,但只会格式化显示。
- 如果你的属性数据类型是字符串那么你可以使用
String.Format("{0:0.00}", 52.00);
decimalVar.ToString("F"); 23.456 → 23.46
- 如果属性是十进制的,它自身与圆
Decimal.Round(52.167, 2)
52.167 → 52.17
这可能会有所帮助。