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

Is it possible to format a Textbox for currency just in ASP NET?

我有这个文本框,它应该将货币值显示为 2 位小数。我想使用 "Text" 属性 文本框。这可能吗?

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

谢谢。

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

显然这是不可能的。我在等待人们否定我。顺便说一句,我就是这样解决的:

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

是的,你可以:

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

这种情况下是全局无效的,因为会显示$符号,千位分隔符用逗号(,),小数点用point/dot(.)。 (您可以更改货币符号,但分隔符不会改变。请注意,如果您正在开发的语言互换,则分隔符点表示千位,逗号表示小数点。例如:西班牙语)

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/.