Format() 带逗号的数字字符串,同时在 for 循环中转换为字符串
Format() number string with comma while it is converted to string inside for loop
我已经从 this thread 知道如何用逗号格式化数字字符串,事实上,我正在尝试将已接受的答案应用到我的案例中。
然而,据我所知,它处理的是预先确定的字符串变量。在我的例子中,它是 运行 一个 for 循环,它将双精度值转换为字符串并将输出显示为 table 行。
for (double i = 1; i <= years; i++)
{
//number of years //future value
richTextBoxResults.Text += i.ToString().PadLeft(3) + (presentValue * Math.Pow(((interestRate / 100 / periods) + 1), (periods * i))).ToString("$#.00").PadLeft(28) + "\n";
}
为简单起见,3 个输出行应该足以理解这个想法
Years Future Value
__________________________________________________
1 34567.89
2 45678.90
3 56789.01
我尝试在 .ToString("$#.00") 方法之后的循环内使用 Format(),但是,我收到 Method() cannot be accessed _with an instance reference 错误。但是,我不确定如何将这些答案应用到我的案例中。
我正在考虑创建一个字符串变量,它可以临时存储值并对其进行格式化。但我想知道是否有更优雅的解决方案。
我还能应用 Format() 方法吗(也许在不同的角度下),所以我的输出会像下面这样
Years Future Value
__________________________________________________
1 ,234,567.89
2 ,345,678.90
3 ,456,789.01
或者我需要改变我的方法吗?
您的代码不可读,这让您很难理解问题所在。在 .ToString
之前有一个额外的 )
:
Math.Pow(((interestRate / 100 / periods) + 1), (periods * i)).ToString("$#.00").PadLeft(28)
您可以使用 "[=13=],#.00"
来应用千位分隔符。
您必须调用 Format()
作为 string
class 的静态方法:
string.Format(/*YourParameters*/)
为了使您的代码可读,请将您的数据放在一个变量中。然后像这样格式化。
var _value = presentValue * Math.Pow(((interestRate / 100 / periods) + 1), (periods * i));
richTextBoxResults.Text+= i.ToString().PadLeft(3) + String.Format("{0:0.00}",_value) .PadLeft(28) ;
我已经从 this thread 知道如何用逗号格式化数字字符串,事实上,我正在尝试将已接受的答案应用到我的案例中。
然而,据我所知,它处理的是预先确定的字符串变量。在我的例子中,它是 运行 一个 for 循环,它将双精度值转换为字符串并将输出显示为 table 行。
for (double i = 1; i <= years; i++)
{
//number of years //future value
richTextBoxResults.Text += i.ToString().PadLeft(3) + (presentValue * Math.Pow(((interestRate / 100 / periods) + 1), (periods * i))).ToString("$#.00").PadLeft(28) + "\n";
}
为简单起见,3 个输出行应该足以理解这个想法
Years Future Value
__________________________________________________
1 34567.89
2 45678.90
3 56789.01
我尝试在 .ToString("$#.00") 方法之后的循环内使用 Format(),但是,我收到 Method() cannot be accessed _with an instance reference 错误。但是,我不确定如何将这些答案应用到我的案例中。
我正在考虑创建一个字符串变量,它可以临时存储值并对其进行格式化。但我想知道是否有更优雅的解决方案。
我还能应用 Format() 方法吗(也许在不同的角度下),所以我的输出会像下面这样
Years Future Value
__________________________________________________
1 ,234,567.89
2 ,345,678.90
3 ,456,789.01
或者我需要改变我的方法吗?
您的代码不可读,这让您很难理解问题所在。在 .ToString
之前有一个额外的 )
:
Math.Pow(((interestRate / 100 / periods) + 1), (periods * i)).ToString("$#.00").PadLeft(28)
您可以使用 "[=13=],#.00"
来应用千位分隔符。
您必须调用 Format()
作为 string
class 的静态方法:
string.Format(/*YourParameters*/)
为了使您的代码可读,请将您的数据放在一个变量中。然后像这样格式化。
var _value = presentValue * Math.Pow(((interestRate / 100 / periods) + 1), (periods * i));
richTextBoxResults.Text+= i.ToString().PadLeft(3) + String.Format("{0:0.00}",_value) .PadLeft(28) ;