将字符串转换为浮点数并设置其格式 (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?

将字符串转换为浮点数并设置其格式 (C#)

如果insertCPUvaluefloat,你可以使用

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

如果我的预测是正确的,这应该会引发异常。