在文本框中格式化值结果。 580 至 0.58E

Format value result in texbox. 580 to 0.58E

如何将我的结果格式化为文本框 4 中的 580 到 0.58E 之类的格式?我找不到解决方案。

  private void button1_Click(object sender, EventArgs e)
    {
        double c, moc, dlugosc, koszt;
        c = Convert.ToDouble(textBox1.Text);
        moc = Convert.ToDouble(textBox2.Text);
        dlugosc = Convert.ToDouble(textBox3.Text);
        koszt= c * moc * dlugosc;
        textBox4.Text = Convert.ToString(koszt);
    }

您可以使用: textBox4.Text = (koszt / 1000).ToString() + "E" 这是最简单的方法。

如果您想将其格式化为货币,您应该使用:textBox4.Text = koszt.ToString("C")textBox4.Text = (koszt / 1000).ToString("C") 这将添加特定于货币的信息。 (我想这就是你想要的。)

不知道你所有的值是什么意思(因为它们不是英语)我无法进一步推断答案。

编辑:参见:https://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx

您只需要将双精度替换为字符串并在末尾添加 "E"。

textBox4.Text = (koszt/1000).ToString() + "E";

.NET Framework 提供了广泛的格式化支持。如下所示:

double x = 1234.5678;
Console.WriteLine (x.ToString());             // 1234,5678
Console.WriteLine (x.ToString("E"));          // 1,234568E+003
Console.WriteLine (x.ToString("E2"));         // 1,23E+003
Console.WriteLine (x.ToString("e2"));         // 1,23e+003
Console.WriteLine (x.ToString("F"));          // 1234,57
Console.WriteLine (x.ToString("##.######"));  // 1234,5678
Console.WriteLine (x.ToString("00.000000"));  // 1234,567800
Console.WriteLine (x.ToString("######.##"));  // 1234,57
Console.WriteLine (x.ToString("000000.000")); // 001234,568

但是请记住,零的“#.#”格式是空字符串或“#.0”类似于“.0” 希望它有所帮助!