在我的应用程序中,我正在查询数据库,并希望将 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
最佳答案
字符串格式适用于数值,而您的代码 myReader[myReader.GetOrdinal("total_amt")])
将返回一个对象。将您的值转换为数字,然后应用如下格式:
Convert.ToDecimal((myReader[myReader.GetOrdinal("total_amt")]))
或者使用:
pReader.GetDecimal(pReader.GetOrdinal("total_amt"))
(我相信您有 Decimal
类型的钱,无论如何它应该是用于钱的类型。)
关于c# - 如何将 string.Format 应用于 SQL 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39107707/