目錄
问题内容
解决方法
首頁 Java 如何將小數點限制為每個數字+一位

如何將小數點限制為每個數字+一位

Feb 22, 2024 pm 12:49 PM

php小编鱼仔带来的Java问答:如何实现将小数点限制为每个数字后只能保留一位?这是许多Java开发者在处理数字格式化时经常遇到的问题。在实际项目中,对小数点的控制是非常重要的,尤其是涉及金额、货币等需要精确计算的场景。接下来,我们将通过简单易懂的例子,详细介绍在Java中如何实现这一需求。

问题内容

我正在 java/android studio 中编写一个计算器,我遇到了每个数字只需要一位小数点的问题。类似于 1.2,而不是 1.2.3。允许用户在计算器中使用小数或自然数,但是,一旦用户按下点(“.”)符号,就无法对该特定数字再次重复。

我对其进行编码以显示错误(这不起作用),并且用户不应该在数字的第一个小数点之后添加另一个小数点,而不是显示错误。它需要适用于 1.1 + 1.1,但不适用于 1.1.1。或 1.1。等等

我尝试将此作为代码的一部分,但它不起作用。就像,它不断禁用我的等于按钮,即使我已经在第一次警告后立即编写了它。

Pattern p;


@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);


   p = Pattern.compile("(\\d*(\\.\\d*)?([+\\-*%\\]|$))*");


   UserInput = findViewById(R.id.ed_calculation_input);
   UserInput.setShowSoftInputOnFocus(false);
   tvCalculationOutput = findViewById(R.id.tv_calculation_output);


   edUserInput.addTextChangedListener(new TextWatcher() {
       @Override
       public void beforeTextChanged(CharSequence s, int start, int count, int after) {


       }


       @Override
       public void onTextChanged(CharSequence s, int start, int before, int count) {
           Matcher m = p.matcher(edUserInput.getText().toString());
           if(!m.matches()) {
               edUserInput.setError("Enter valid no");
               btnEqual.setEnabled(false);
           } else {
               btnEqual.setEnabled(true);
           }
       }


       @Override
       public void afterTextChanged(Editable s) {


       }
   });
登入後複製

解决方法

这个问题的解决方案相当简单。您已选择 edittext 作为数字的输入,不是吗?然后您所要做的就是添加行

<EditText
    ...
    android:inputType="numberDecimal"
    ...
    />
登入後複製

在 xml 布局文件中,防止数字有多个小数点(或字母或其他符号)。

以上是如何將小數點限制為每個數字+一位的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1656
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1229
24