<script> //检查是否为任意数(实数) function isNumeric(strNumber) { var newPar=/^(-|\+)?\d+(\.\d+)?$/ alert(newPar.test(strNumber)); } //检查是否为正数 function isUnsignedNumeric(strNumber) { var newPar=/^\d+(\.\d+)?$/ alert(newPar.test(strNumber)); } //检查是否为整数 function isInteger(strInteger) { var newPar=/^(-|\+)?\d+$/ alert(newPar.test(strInteger)); } //检查是否为正整数 function isUnsignedInteger(strInteger) { var newPar=/^\d+$/ alert(newPar.test(strInteger)); } </script>
看不明白阿,可以用substring来实现,但是计较苯的办法。
public class numberInput { public numberInput() { } public boolean isUSformat(String num){ for (int i = 0; i < num.length(); i++) { if (num.charAt(i) == ',') { return true; } } return false; } public boolean isNumber(String num){ if(isUSformat(num)){ String[] number=num.split(","); for(int i=0;i<number.length;i++){ if (i == 0) { if (number[i].length() > 3) { System.out.println("數字格式不正確!"); return false; } } else { if (number[i].length()!= 3){ System.out.println("數字格式不正確!"); return false; } } } }else{ NumberFormat format=NumberFormat.getNumberInstance(Locale.US); System.out.println(format.format(Double.parseDouble(num))); } return true; } public static void main(String[] args) { numberInput input=new numberInput(); System.out.println("請輸入數字:"); BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String num; try { num = bf.readLine(); if(input.isNumber(num)){ System.out.println(num); }else{ return; }
//检查是否为任意数(实数)
function isNumeric(strNumber)
{
var newPar=/^(-|\+)?\d+(\.\d+)?$/
alert(newPar.test(strNumber));
}
//检查是否为正数
function isUnsignedNumeric(strNumber)
{
var newPar=/^\d+(\.\d+)?$/
alert(newPar.test(strNumber));
}
//检查是否为整数
function isInteger(strInteger)
{
var newPar=/^(-|\+)?\d+$/
alert(newPar.test(strInteger));
}
//检查是否为正整数
function isUnsignedInteger(strInteger)
{
var newPar=/^\d+$/
alert(newPar.test(strInteger));
}
</script>
public numberInput() {
}
public boolean isUSformat(String num){
for (int i = 0; i < num.length(); i++) {
if (num.charAt(i) == ',') {
return true;
}
}
return false;
}
public boolean isNumber(String num){
if(isUSformat(num)){
String[] number=num.split(",");
for(int i=0;i<number.length;i++){
if (i == 0) {
if (number[i].length() > 3) {
System.out.println("數字格式不正確!");
return false;
}
} else {
if (number[i].length()!= 3){
System.out.println("數字格式不正確!");
return false;
}
}
}
}else{
NumberFormat format=NumberFormat.getNumberInstance(Locale.US);
System.out.println(format.format(Double.parseDouble(num)));
}
return true;
}
public static void main(String[] args) {
numberInput input=new numberInput();
System.out.println("請輸入數字:");
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String num;
try {
num = bf.readLine();
if(input.isNumber(num)){
System.out.println(num);
}else{
return;
}
} catch (IOException ex) {
} }
}
to 樓主:
這是我試著實現的方法!
但是有些細節沒注意,只是大致功能實現
我沒有對輸入的數字是否為數字進行判斷
希望對 樓主有所幫助
你的程序好象不能运行把.(我是一名在校大学生,希望您可以多指点)