是否可以在ASP NET中格式化货币文本框?

时间:2015-05-22 07:57:59

标签: asp.net textbox formatting currency

我有这个文本框,应该将货币值显示为2个十进制数字。我想使用" Text"文本框的属性。这可能吗?

<asp:TextBox ID="txtImponibile" runat="server" Width="120px" Enabled="False" ></asp:TextBox>

感谢。

3 个答案:

答案 0 :(得分:3)

您可以将TextBox包装在<asp:UpdatePanel>中,并添加TextChanged事件的AsyncPostBackTrigger。您可以使用它来验证,验证和更改服务器端的字符串。

答案 1 :(得分:3)

是的,你可以

string.Format("$ {0:#,##0.00}", double.Parse(textBox1.Text));

在这种情况下是全局无效的,它将显示$符号并使用commma(,)表示千位分隔符,而点/点(。)表示十进制。 (你可以改变货币simbol,但是分隔符不会改变。如果你正在开发的语言用于交换separtors dot for thusands和逗号为小数,请将其考虑在内。来自西班牙的西班牙语)

string.Format(CultureInfo.CurrentCulture,"{0:C}", double.Parse(textBox1.Text));

这将为您提供货币,但这种情况取决于您为网站设置的文化。我知道如何按页面配置它:( aspx文件中HTML代码的第一行)

<%@ Page Language="C#" AutoEventWireup="true" Culture="es-HN" UICulture="es-HN" CodeBehind="yourpage.aspx.cs" Inherits="yoursite.yourpage" %>

有一种方法如何在web.config文件中配置它我现在不是那个,但我鼓励你去寻找它。到目前为止,我只在每个页面上包含[Culture =“es-HN”UICulture =“es-HN”]并且它有效。顺便说一下,这些价值观是针对洪都拉斯的,所以如果您需要其他文化价值,请在此处查找:www.csharp-examples.net/culture-names/

答案 2 :(得分:0)

显然这是不可能的。我在等人让我失望。顺便说一句,这就是我解决的问题:

textBox1.Text = string.Format("{0:#,##0.00}", double.Parse(textBox1.Text));