java判斷小數
❶ java判斷是否是整數,小數或實數的正則表達式
如果是整數: ^[+-]?\\d+$
如果是小於1的小數: ^[+-]?0\\.\\d+?$
如果是任意浮點: ^[+-]?\\d+(\\.\\d+)?$
如果是精確至小數點3位的浮點: ^[+-]?\\d+(\\.\\d{1,3})?$
如果是16進制整數: ^[+-]?[\\da-fA-F]+$
❷ java判斷是否是精確到2位的數字
實現思路:先獲取到小數點後面的值,之後判斷長度是不是兩位,是的話,表示符合條件:
if ("1231312.12".split("\.")[1].length()==2)
{
System.out.println("是兩位小數");
}
解釋: 先通過「.」截取數值為兩部分(整數部分和小時部分),之後取到小數部分,並獲取到長度,之後和2比較即可。
❸ 求教java中如何判斷一個數是不是小數,求詳細代碼及解釋
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTest13{
publicstaticvoidmain(String[]args){
System.out.println(isPositiveDecimal("-0.9"));
System.out.println(isPositiveDecimal("0.9"));
System.out.println(isNegativeDecimal("-0.9"));
System.out.println(isNegativeDecimal("0.9"));
}
(Stringorginal){
returnisMatch("\+{0,1}[0]\.[1-9]*|\+{0,1}[1-9]\d*\.\d*",orginal);
}
(Stringorginal){
returnisMatch("^-[0]\.[1-9]*|^-[1-9]\d*\.\d*",orginal);
}
privatestaticbooleanisMatch(Stringregex,Stringorginal){
if(orginal==null||orginal.trim().equals("")){
returnfalse;
}
Patternpattern=Pattern.compile(regex);
MatcherisNum=pattern.matcher(orginal);
returnisNum.matches();
}
}
❹ java怎麼判斷是否是小數
1,^\\d+$ 是判斷位正整數的
^\\d+\\.\\d+$
2,判斷是否位正小數
-\\d+$:
3,判斷是否位負整數
你代碼里這三個用 「 | 」(或)運算符連接,表示只要是整數或者是正的小數就是true了。
4,另外可以加一句
^-\\d+\\.\\d+$ 判斷是否位負的小數
按照你的要求:
Pattern pattern = Pattern.compile("^\\d+$|-\\d+$"); // 就是判斷是否為整數
Pattern pattern = Pattern.compile("\\d+\\.\\d+$|-\\d+\\.\\d+$");//判斷是否為小數
❺ java 判斷整數還是小數
publicclassTest{
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
doublenum=0.00;
try{
System.out.println("請輸入數字");
num=scanner.nextDouble();
}catch(Exceptione){
System.out.println("請輸入正確的數字格式");
scanner.close();
return;
}
StringnumString=num+"";
inta=numString.indexOf(".");
StringnumAfter=numString.substring(a+1,numString.length());
char[]nums=numAfter.toCharArray();
for(inti=0;i<nums.length;i++){
if(nums[i]!='0'){
System.out.println(num+"不是整數");
scanner.close();
return;
}
}
System.out.println(num+"是整數");
scanner.close();
}
}
❻ java判斷有沒有小數點
強制轉成整數,對比原數,,,,或 轉成字元串,再查找.字元
~~~~~~~~~
❼ JAVA如何檢查小數位
看看這樣滿足要求嗎? 可以根據自己的需求添加相應的判斷。 多加思考! package cn.com.storm.common.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test { private final static int NUMBER_COUNT = 3; public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("請輸入一個數字(小數點不能超過" + NUMBER_COUNT + "位):"); try { String line = br.readLine(); // 輸入數據的格式判斷 if (line.startsWith("0") || line.endsWith(".")) { System.out.println("你輸入的數據格式不正確!"); } else { // 輸入數據轉化成Double類型 try { Double.valueOf(line); int length = line.length() - line.lastIndexOf(".") - 1; // 判斷小數點是否超過 if (length > NUMBER_COUNT) { System.out.println("小數點超過" + NUMBER_COUNT + "位!"); } else { System.out.println("輸入正確!"); } } catch (NumberFormatException ex) { System.out.println("你輸入的數據不是數字!"); } } } catch (IOException e) { System.out.println("讀取數據時發生錯誤:" + e.getMessage()); } } }
❽ 求教java中如何判斷一個數是不是小數,求詳
可以轉化成String,然後判斷裡面有沒有小數點,如果有,就是小數,沒有就不是小數。
publicclassJudgeNumber{
(Stringnum){
booleanisdecimal=false;
if(num.contains(".")){
isdecimal=true;
}
returnisdecimal;
}
publicstaticvoidmain(String[]args){//測試的main方法
intnum1=34;
doublenum2=67.8;
booleanis1=judgeIsDecimal(String.valueOf(num1));
booleanis2=judgeIsDecimal(String.valueOf(num2));
System.out.println(is1);//fasle
System.out.println(is2);//true
}
}
❾ java中String數組類型小數點後的位數如何判斷
public static String dealStr(String s){
int index = s.lastIndexOf(".");//尋找小數點的索引位置,若不是小數,則為-1
if(index > -1) {
int len = s.substring(index + 1).length();//取得小數點後的數值,不包括小數點
s += len == 1 ? "0" : "";
}
return s;
}