如何从 Web API 获取十进制值 .00
Posted
技术标签:
【中文标题】如何从 Web API 获取十进制值 .00【英文标题】:How to get decimal value .00 from Web API 【发布时间】:2021-04-06 18:22:50 【问题描述】:我有一个返回十进制值 52.00 的 Web API 方法,当我调试 Web API 时,该值正确出现,但是当它在邮递员中返回结果时,它仅变为 52,但它应该为 52.00,如果小数为超过两个,然后将其四舍五入到 0.00
这是我调试时的结果
这里是邮递员的结果
【问题讨论】:
这能回答你的问题吗? How can I force a minimum number of decimal places in Json.net? 【参考方案1】: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 时,预期的结果是什么?您要修剪还是舍入该值?
我不会将这些格式应用于 Json,因为您可能会降低精度,但只会格式化显示。
【讨论】:
【参考方案2】:-
如果你的属性数据类型是字符串,那么你可以使用
String.Format("0:0.00", 52.00);
decimalVar.ToString("F"); 23.456 → 23.46
-
如果属性是十进制的,则它自己带有圆形
Decimal.Round(52.167, 2)
52.167 → 52.17
这可能会有所帮助。
【讨论】:
以上是关于如何从 Web API 获取十进制值 .00的主要内容,如果未能解决你的问题,请参考以下文章
如何从 TextField 获取十进制值并在 Objective C 中使用它进行计算
Web 服务调用导致 System.Xml.XmlException:'.',十六进制值 0x00