java - 使 EditText 只显示两位小数

标签 java android eclipse

我想在我的编辑文本中只显示两位小数,当然我想在编辑文本中显示货币,但将其值限制为小数点后 2 位。

我见过一些使用正则表达式的解决方案,但我不想那样做。有人告诉我,java 支持一些可以做到这一点的内部库函数。任何人都可以给我提示或给我一些有效的代码。

问候

amount.setRawInputType(Configuration.KEYBOARD_12KEY);

         amount.addTextChangedListener(new TextWatcher() 
         {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub
                DecimalFormat formatVal = new DecimalFormat("##.##");
                String formatted = formatVal.format(s);
                amount.setText(formatted);

            }

最佳答案

您可以简单地使用 DecimalFormat

DecimalFormat format = new DecimalFormat("##.##");
String formatted = format.format(22.123);
editText.setText(formatted);

您将在 EditText 中得到结果为 22.12

关于java - 使 EditText 只显示两位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9323618/

相关文章:

c++ - makefile 中的 qt gui 项目错误

java - 将 PrinterWriter 与字符串 ArrayList 结合使用

java - 如何在 apache web 服务器中配置 tomcat java 应用程序?

android - 我的服务没有被破坏 - 如何停止服务

java - 获取网页内容

java - log4j 属性更改未反射(reflect)在 Eclipse 中

eclipse - 非终止 java ui 测试?

java - Pom/Jar 文件不在中心位置

java - Spring WebClient 在尝试转换 bodyToMono<UUID>、POST 请求时抛出不支持的媒体类型异常

java - 无法让 android webview 在 android 9 上打开文件选择器