C# 如何将string.Format应用于SQL结果?
在我的应用程序中,我正在查询数据库,并希望对我的结果应用C# 如何将string.Format应用于SQL结果?,c#,.net,casting,string.format,intersystems-cache,C#,.net,Casting,String.format,Intersystems Cache,在我的应用程序中,我正在查询数据库,并希望对我的结果应用string.Format(“{0:n}”),以便结果包含逗号和小数 但是,我很难让它正常工作。代码经过编译,一切正常,但数字的格式不是我想要的 这是我目前的代码: using (CacheConnection myConnection = new CacheConnection()) { myConnection.ConnectionTimeout = 9999; myConnection.ConnectionString
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”或其他什么,但我希望它显示为245678.00,字符串格式将适用于数值,而您的代码
myReader[myReader.GetOrdinal(“total_amt”)])
将返回一个对象。将值转换为数字,然后应用如下格式:
Convert.ToDecimal((myReader[myReader.GetOrdinal("total_amt")]))
或使用:
pReader.GetDecimal(pReader.GetOrdinal("total_amt"))
(我相信你有
Decimal
货币类型,无论如何它应该是用于货币的类型。)首先将你的值转换为十进制。@Rakitić,是的,这正是我需要做的。谢谢您还可以使用string.Format(“{0:C}”
,并从字符串“Amount:$”
中删除$
,因为$将自动添加。哈哈。我觉得自己很笨。非常感谢!