繁体   English   中英

C#中的字符串格式处理小数位

[英]String Formatting in C# to handle decimal places

在Web API中,有一个Number数据类型字段,我们从oracle DB中检索并以JSON格式返回。 由于它是数字类型,因此会在结果364578.0中显示,因此现在使用字符串格式,我们尝试避免使用小数点,例如

 serializer.Serialize(writer, string.Format("{0:n0}",reader[i]));

它确实解决了问题,确实返回了省略小数点后的结果,但显示的结果类似于364578。我只是在检查是否有可能返回364578

尝试

serializer.Serialize(writer, string.Format("{0:f0}",reader[i]));

F格式不使用千位分隔符。 有关详细信息,请检查MSDN

您可以使用自定义格式

serializer.Serialize(writer, (decimal)reader[i].ToString("0.#");

我们在评论中进行了一些讨论。 您似乎无法解决此问题,因为该API已无法使用。 这意味着您必须解决它。

根据您的问题,我知道另一端希望使用整数而不是十进制。 好吧,那么让我们给它一个int

serializer.Serialize(writer, Convert.ToInt32(reader[i]));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM