为了账号安全,请及时绑定邮箱和手机立即绑定

如果小数为零忽略但如果非零,读入前两个

如果小数为零忽略但如果非零,读入前两个

C#
缥缈止盈 2021-07-02 16:35:16
如果小数为零,则忽略但非零,需要读入前两位"35.0" or "35.0000" = 35"35.0193" = 35.01"35.98759" = 35.98有任何想法吗?var splitSku4 = value.Split('.');if (splitSku4.Length > 1){    if (!splitSku4[1].StartsWith("0") || !splitSku4[1].StartsWith("00"))    {        sku4 = string.Format("{0}.{1}", splitSku4[0], splitSku4[1].Substring(0, 2));    }}卡在这一点
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

如果您有一个包含数值的字符串,您可以使用 Convert 方法之一(例如Convert.ToDouble)或使用与目标数据类型关联的 Parse 或 TryParse 方法之一(例如Double.Parse)来转换它。


例子:


var input = "35.98759";

var number = double.Parse(input);

或者


var number = Convert.ToDouble(input);

将值存储在数字数据类型中后,您可以使用Math.Round删除最低有效数字


var input = "35.98759";

var number = double.Parse(input);

var numberToTwoDecimals = Math.Round(number, 2);

如果你总是想向下取整,有几种方法可以做到,但在这种情况下最简单的方法是在四舍五入之前减去 0.005。


var result = Math.Round(number - 0.005F, 2);

删除小数后,您可以根据需要将其转换回字符串:


var outputString = result.ToString("0.00");

结果:


35.98


查看完整回答
反对 回复 2021-07-11
  • 2 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信