首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用System.Data.DataTable显示货币

用System.Data.DataTable显示货币
EN

Stack Overflow用户
提问于 2014-09-15 21:31:48
回答 1查看 1.4K关注 0票数 0

我正在编写一些旧的VB代码,它创建了一个System.Data.DataTable并定义了一些列。它工作得很好,只是我需要一个列来显示为货币,而不仅仅是浮点数。我该怎么做?

代码语言:javascript
复制
Dim myDataTable As New System.Data.DataTable("tblRec")
myDataTable.Columns.Add("RECAMOUNT", System.Type.GetType("System.Double"))

Protected WithEvents DataGridCurrentCRLines As Global.System.Web.UI.WebControls.DataGrid
Session("CRLines") = myDataTable
DataGridCurrentCRLines.DataSource = Session("CRLines")

将行更改为:

代码语言:javascript
复制
myDataTable.Columns.Add("RECAMOUNT", System.Type.GetType("System.Decimal"))

没有区别,我指的是显示1234567.89,而不是1,234,567.89

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-18 14:56:55

@Time Schmelter的提示指向正确的方向。

首先将类型更改为string:

代码语言:javascript
复制
myDataTable.Columns.Add("RECAMOUNT", System.Type.GetType("System.String")

然后,我编写了一个帮助器方法来将字符串转换为货币字符串,似乎不能从字符串直接转换为货币字符串,而是必须字符串-> Decimal ->货币字符串。

代码语言:javascript
复制
 Private Function ConvertStringToCurrencyString(ByVal inputString As String) As String

        Dim currencyString As String
        currencyString = ""
        Dim myDecimal As Decimal

        Try

            myDecimal = System.Convert.ToDecimal(inputString)
            currencyString = myDecimal.ToString("C2")

        Catch exception As System.OverflowException
            System.Console.WriteLine("ConvertStringToCurrencyString(): Overflow in string-to-decimal conversion.")
        Catch exception As System.FormatException
            System.Console.WriteLine("ConvertStringToCurrencyString(): The string is not formatted as a decimal.")
        Catch exception As System.ArgumentException
            System.Console.WriteLine("ConvertStringToCurrencyString(): The string is null.")
        End Try

        Return currencyString

    End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25857220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档