【问题标题】:Remove decimal points from a decimal variable if it has .00 [duplicate]如果小数变量具有 .00,则从小数点中删除小数点 [重复]
【发布时间】:2017-05-09 06:14:49
【问题描述】:

我有一个十进制变量,如果它是 .00,我想通过删除小数点将其转换为字符串。

例如,我有 23.00 和 25.1458,我希望这两个变量的字符串都为 23 和 25.1

我正在使用字符串转换string temp => $"{value:n0}",但是这个也为后面的变量(25.1458)删除了小数点,而我只想修剪 0.00 个小数

【问题讨论】:

  • 您是否尝试过在 Google 上搜索有关如何使用 string.Format 函数的示例...?
  • String.Format 具有格式化字符串的方法,但在格式化之前,我想知道它的小数部分是否为 .00
  • 你试过这个temp => $"{value:.#}"吗?

标签: c# string


【解决方案1】:

您可以使用this link 中的自定义说明符:

根据文档:

“#”自定义格式说明符用作数字占位符符号。如果正在格式化的值在格式字符串中出现“#”符号的位置有一个数字,则该数字将复制到结果字符串中。否则,结果字符串中的该位置不会存储任何内容。

请注意,此说明符从不显示不是有效数字的零,即使零是字符串中的唯一数字。只有当它是正在显示的数字中的有效数字时,它才会显示零。

“##”格式字符串使值四舍五入到小数点前最接近的数字,其中始终使用从零开始的四舍五入。例如,使用“##”格式化 34.5 会产生值 35。

因此,在您的示例中,这应该可以解决问题。

temp => $"{value:.#}"

查看更多here

希望这会有所帮助!

【讨论】:

  • 这工作正常,但是当变量为 0 时它返回一个 Not A Number
猜你喜欢
  • 2013-01-19
  • 2011-08-03
  • 2019-09-13
  • 2015-10-02
  • 2016-02-09
  • 2019-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多