将字符串转换为浮点数并设置其格式 (C#)
本文关键字:格式 设置 字符串 转换 浮点数 | 更新日期: 2023-09-27 18:19:37
我正在尝试将浮点数转换为字符串。
我有一个字符串(除以字符串[2](表示 CPU 负载,例如 0.00 或 0.01 或 0.54 等。
然后我想将其转换为浮点数,因此我执行以下操作:
float.TryParse(dividedstring[2], out insertCPUvalue);
现在,当我尝试显示浮点数时,例如:
MessageBox.Show(insertCPUvalue.ToString());
我得到:"0",现在我假设这是因为字符串"除以字符串[2]"是 == "0.00",所以它只是取了小数点? - 并将其四舍五入为 0?
如果insertCPUvalue
是float
,你可以使用
MessageBox.Show(string.Format("{0:0.00}%", insertCPUvalue));
有关格式的更多信息:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
float f = 0.0000666f;
Messagebox.Show(String.Format("{0:0,0.0000000}", f));
试试这个:
MessageBox.Show(insertCPUvalue.ToString("0.00"));
应使用固定区域性来分析字符串,如下所示。
float.TryParse("0.58", NumberStyles.Any, CultureInfo.InvariantCulture, out f);
使用
MessageBox.Show(insertCPUvalue.ToString("F02"));
我认为问题是您在dividedstring
中有 2 个元素(2 个元素的数组(,并且您正在传递 dividedstring[2]
这没什么(因为索引从 0
开始,所以你有元素 0
和元素 1
(,这将抛出异常,但TryParse
会捕获它并返回分配0
, 所以试着通过dividedstring[1]
伊斯特德。
为了确保这一点,只需尝试使用 Parse:
insertCPUvalue.Parse(dividedstring[2]);
如果我的预测是正确的,这应该会引发异常。