猿问

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

如果小数为零,则忽略但非零,需要读入前两位


"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));

    }

}

卡在这一点


缥缈止盈
浏览 176回答 2
2回答

慕尼黑8549860

如果您有一个包含数值的字符串,您可以使用 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
随时随地看视频慕课网APP
我要回答