Лучший способ отобразить / отформатировать денежный тип данных SQL 2005 в ASP.Net - PullRequest
2 голосов
/ 02 сентября 2008

Я пытаюсь установить текстовое поле asp.net в поле типа данных денег SQL 2005. Исходный результат, отображаемый для пользователя, равен 40,0000 вместо 40,00. В моем текстовом поле asp.net я бы хотел отображать только первые 2 цифры после десятичной точки, например 40,00

Каков наилучший способ сделать это? Мой код ниже:

this.txtPayment.Text = dr["Payment"].ToString();

Ответы [ 5 ]

2 голосов
/ 02 сентября 2008

Работает ли строка формата "c" в ASP.NET так же, как, например, в Windows Forms? Потому что в WinForms я вполне уверен, что он соответствует настройкам валюты *1002* клиента. Таким образом, даже если значение хранится в долларах США, если клиентский компьютер настроен на отображение иены, то это символ валюты, который будет отображаться. Это может быть не то, что вы хотите.

Может быть разумнее использовать:

txtPayment.Text = dr["Payment"].ToString("00.00")
2 голосов
/ 02 сентября 2008
this.txtPayment.Text = string.Format("{0:c}", dr[Payment"].ToString());
0 голосов
/ 02 сентября 2008

После некоторых исследований я пришел к следующему:

string pmt = dr["Payment"].ToString();
double dblPmt = System.Convert.ToDouble(pmt);
this.txtPayment.Text = dblPmt.ToString("c",CultureInfo.CurrentCulture.NumberFormat);

Я собираюсь протестировать все приведенные примеры кода. Если я смогу решить это одной строкой кода, то это то, что я собираюсь сделать.

0 голосов
/ 02 сентября 2008

@ Мэтт Гамильтон

Да. «c» работает независимо от того, что представляет собой CurrentCultureInfo, возникает вопрос, все ли пользователи веб-приложения имеют одинаковую валюту с сервером, в противном случае им потребуется получить клиентскую часть cultureinfo и использовать полученную оттуда валюту.

0 голосов
/ 02 сентября 2008

Используйте метод ToString с "c", чтобы отформатировать его как валюту.

this.txtPayment.Text = dr["Payment"].ToString("c");

Строки стандартного числового формата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...