在我的应用程序中,我正在查询数据库,并希望将string.Format("{0:n}")
应用于我的结果,以便结果包含逗号和小数。
但是,我无法让它正常工作。代码编译,一切正常,但数字格式不是我想要的格式。
这是我目前的代码:
using (CacheConnection myConnection = new CacheConnection())
{
myConnection.ConnectionTimeout = 9999;
myConnection.ConnectionString = monthPropStruct.connectionString;
myConnection.Open();
using (CacheCommand myCommand = new CacheCommand(sqlTest, myConnection))
{
myCommand.CommandTimeout = 9999;
using (CacheDataReader myReader = myCommand.ExecuteReader())
{
while (myReader.Read())
{
myWriter = new StreamWriter(myParameters.fullSaveDirectory, true);
myWriter.WriteLine("Amount: $" + string.Format("{0:n}", myReader[myReader.GetOrdinal("total_amt")]));
myWriter.Close();
}
}
}
}
我得到的当前结果是" 245687"或者其他什么,但我希望它显示为245,678.00
答案 0 :(得分:2)
字符串格式化适用于数值,而代码myReader[myReader.GetOrdinal("total_amt")])
将返回一个对象。将您的值转换为数字,然后应用格式如:
Convert.ToDecimal((myReader[myReader.GetOrdinal("total_amt")]))
或使用:
pReader.GetDecimal(pReader.GetOrdinal("total_amt"))
(我相信你有Decimal
类型的钱,无论如何它应该是用于Money的那种。)