<bdo id='yYnzp'></bdo><ul id='yYnzp'></ul>

    <tfoot id='yYnzp'></tfoot>
    <i id='yYnzp'><tr id='yYnzp'><dt id='yYnzp'><q id='yYnzp'><span id='yYnzp'><b id='yYnzp'><form id='yYnzp'><ins id='yYnzp'></ins><ul id='yYnzp'></ul><sub id='yYnzp'></sub></form><legend id='yYnzp'></legend><bdo id='yYnzp'><pre id='yYnzp'><center id='yYnzp'></center></pre></bdo></b><th id='yYnzp'></th></span></q></dt></tr></i><div id='yYnzp'><tfoot id='yYnzp'></tfoot><dl id='yYnzp'><fieldset id='yYnzp'></fieldset></dl></div>
  • <legend id='yYnzp'><style id='yYnzp'><dir id='yYnzp'><q id='yYnzp'></q></dir></style></legend>
    1. <small id='yYnzp'></small><noframes id='yYnzp'>

        如何使用千位分隔符和小数分隔符格式化 Windows 窗体文本框以进行数字输入

        How to format a Windows Forms Textbox with thousand separator and decimal separtor for numeric input(如何使用千位分隔符和小数分隔符格式化 Windows 窗体文本框以进行数字输入)
        • <small id='hqs8w'></small><noframes id='hqs8w'>

            <tfoot id='hqs8w'></tfoot>
          1. <i id='hqs8w'><tr id='hqs8w'><dt id='hqs8w'><q id='hqs8w'><span id='hqs8w'><b id='hqs8w'><form id='hqs8w'><ins id='hqs8w'></ins><ul id='hqs8w'></ul><sub id='hqs8w'></sub></form><legend id='hqs8w'></legend><bdo id='hqs8w'><pre id='hqs8w'><center id='hqs8w'></center></pre></bdo></b><th id='hqs8w'></th></span></q></dt></tr></i><div id='hqs8w'><tfoot id='hqs8w'></tfoot><dl id='hqs8w'><fieldset id='hqs8w'></fieldset></dl></div>
            • <bdo id='hqs8w'></bdo><ul id='hqs8w'></ul>
                <tbody id='hqs8w'></tbody>

                <legend id='hqs8w'><style id='hqs8w'><dir id='hqs8w'><q id='hqs8w'></q></dir></style></legend>
                • 本文介绍了如何使用千位分隔符和小数分隔符格式化 Windows 窗体文本框以进行数字输入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我是 Windows 窗体的新手并尝试做一些事情.我正在使用 C#.

                  I'm new to Windows Forms and try to do something. I'm using C#.

                  我使用的是 Windows 窗体,我在窗体上放置了八个文本框,并且都是带有十进制值的数字.

                  I'm using Windows Forms and I've put eight textboxes on my form, and all are numeric with decimal value.

                  我喜欢实现以下结果.我的小数分隔符是逗号,千位分隔符是点.我见过像##.###,## 之类的东西,但不记得了....我怎样才能实现以下方法?

                  I like to achieve the results below. My decimal separator is a comma and thousand separator is a dot. I've ever seen something like ##.###,## or whatever, but don't remember.... How can i achieve the below approach?

                  所以我的想法是,当我输入 1234 并将焦点从文本框中移开时,它应该格式化,当我再次回到文本框时,千位分隔符不应该只格式化小数分隔符.

                  So the idea is when I type 1234 and leave the focus from the textbox it should format and when I get in the textbox back again the thousand separator should not format only the decimal separator.

                  我想我必须使用一些事件,比如 LostFocus.

                  I think I've to use some events like LostFocus.

                  输入 结果

                  1234 1.234,00

                  12341.234,00

                  12.34 12,34

                  12.3412,34

                  12,34 12,34

                  12,3412,34

                  1234567 1.234.567,00

                  12345671.234.567,00

                  12,34 12,34

                  12,3412,34

                  12345,67 12.345,67

                  12345,6712.345,67

                  推荐答案

                  在文本框中的 LostFocus 事件中,使用:

                  On your LostFocus event in the textbox, use:

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

                  在应用上述逻辑之前,请先确保文本是双精度/整数,否则会引发异常.这个解决方案相当苛刻、强硬.

                  Make sure that the text is double / integer first before applying the above logic or it will throw an exception. This solution is rather harsh, tough.

                  如果您希望格式采用特定文化而不是您当前计算机的文化,那么

                  If you want the format to be in a specific culture rather than your current computer's culture, then

                  textBox1.Text = string.Format(System.Globalization.CultureInfo.GetCultureInfo("id-ID"), "{0:#,##0.00}", double.Parse(textBox1.Text));
                  

                  以上示例适用于印度尼西亚货币格式,其中千位分隔符使用点(.")而不是逗号(,").

                  The above example is for the Indonesian currency format, in which the thousand separator use dot (".") rather than comma (",").

                  这篇关于如何使用千位分隔符和小数分隔符格式化 Windows 窗体文本框以进行数字输入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Force JsonConvert.SerializeXmlNode to serialize node value as an Integer or a Boolean(强制 JsonConvert.SerializeXmlNode 将节点值序列化为整数或布尔值)
                  Using JSON to Serialize/Deserialize TimeSpan(使用 JSON 序列化/反序列化 TimeSpan)
                  Could not determine JSON object type for type quot;Classquot;(无法确定类型“Class的 JSON 对象类型.)
                  How to deserialize a JSONP response (preferably with JsonTextReader and not a string)?(如何反序列化 JSONP 响应(最好使用 JsonTextReader 而不是字符串)?)
                  how to de-serialize JSON data in which Timestamp it-self contains fields?(如何反序列化时间戳本身包含字段的JSON数据?)
                  JSON.Net custom contract serialization and Collections(JSON.Net 自定义合约序列化和集合)
                  <legend id='1tXaE'><style id='1tXaE'><dir id='1tXaE'><q id='1tXaE'></q></dir></style></legend>
                    <tfoot id='1tXaE'></tfoot>

                    <i id='1tXaE'><tr id='1tXaE'><dt id='1tXaE'><q id='1tXaE'><span id='1tXaE'><b id='1tXaE'><form id='1tXaE'><ins id='1tXaE'></ins><ul id='1tXaE'></ul><sub id='1tXaE'></sub></form><legend id='1tXaE'></legend><bdo id='1tXaE'><pre id='1tXaE'><center id='1tXaE'></center></pre></bdo></b><th id='1tXaE'></th></span></q></dt></tr></i><div id='1tXaE'><tfoot id='1tXaE'></tfoot><dl id='1tXaE'><fieldset id='1tXaE'></fieldset></dl></div>

                    1. <small id='1tXaE'></small><noframes id='1tXaE'>

                          <bdo id='1tXaE'></bdo><ul id='1tXaE'></ul>

                              <tbody id='1tXaE'></tbody>