【问题标题】:removing value after decimal删除小数点后的值
【发布时间】:2019-08-23 17:39:31
【问题描述】:

我正在使用Convert.ToDecimal() 将字符串转换为十进制。我在剃须刀引擎中使用它。我想要的是它应该四舍五入到最接近的整数值。

我尝试过Math.roundMath.ceilString Format。我不知道为什么它不起作用。

<td data-value="TotalFeesNumeric" data-negative="true" class="lp_currency_format">
  @{if (@Model.CalculatedBreakevenSummary != null &&
  @Model.CalculatedBreakevenSummary.TotalFeesNumeric != null) 
  {@Convert.ToDecimal(Model.CalculatedBreakevenSummary.TotalFeesNumeric)}}
</td>

它没有给出整数值。

【问题讨论】:

  • 如果你想要一个整数,为什么要把它转换成小数?
  • 好吧,Convert.ToDecimal 返回转换后的值。它不会更改您传递给转换的属性。但是,由于另一个原因,我发现此代码错误。您应该在准备模型时在控制器代码中执行此操作,而不是在 razor 视图中
  • 这是一个预先编写的代码。我被要求将其转换为整数值。我无法对代码进行任何更改

标签: c# html css razor


【解决方案1】:

decimal.Round() 将值四舍五入到最接近的整数或指定的小数位数。

在你的情况下,你可以使用:

decimal.Round(Convert.ToDecimal(Model.CalculatedBreakevenSummary.TotalFeesNumeric))

..如果您需要结果为int 类型,您可以将其转换为:

(int)decimal.Round(Convert.ToDecimal(Model.CalculatedBreakevenSummary.TotalFeesNumeric))

【讨论】:

  • 静态值在打印屏幕上以十进制显示。 :(
  • 即使使用(int) 演员表??
猜你喜欢
  • 2021-11-21
  • 2021-06-20
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多