c# - 如何将 string.Format 应用于 SQL 结果?

标签 c# .net casting string.format intersystems-cache

在我的应用程序中,我正在查询数据库,并希望将 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/

相关文章:

c# - 将 Expression<Func<T,object>> 转换为字符串

c# - IRepository<T> 与 Repository 的具体意义(如果我不使用模拟进行单元测试)

c++ Armadillo 转换/转换为整数类型 vector 或矩阵

ios - 在 Swift 中使用 AudioBufferList

c# - 在运行时更改内部表示

c# - 默认构造函数在不需要时不必要地初始化依赖项

c# - "Property elements cannot be in the middle of an element' s 内容。”WPF 应用程序中的错误

postgresql - 如何在 Postgresql 中将地球数据类型转换为 json

javascript - Orchard CMS中如何处理来自JS的跨域web服务调用

.net - WCF数据边界设计