簡體   English   中英

如何檢查2位小數? 例如2.2.10

[英]how to check 2 decimals? E.g. 2.2.10

如何在javascript中檢查2個小數? 例如2.2.10

您必須將其視為字符串(它不是數字),而正則表達式可能是實現此目的的最簡單方法:

'2.2.10'.match(/^\d+\.\d+\.\d+$/);

另外,如果您假設其他所有內容都是數字,則:

'2.d2.10'.split('.').length === 3

如果要檢查您的字符串是否僅包含數字和點以及帶尾隨數字,請使用regexp:

if(myString.match(/^[\d\.]*\d$/)) {
  // passes the test
}

"2".match(/^[\d\.]*\d$/) // true
"2.2".match(/^[\d\.]*\d$/) // true
"2.2.10".match(/^[\d\.]*\d$/) // true
".2".match(/^[\d\.]*\d$/) // true
"2.".match(/^[\d\.]*\d$/) // FALSE
"fubar".match(/^[\d\.]*\d$/) // FALSE

如果要確定版本A是否早於版本B,則可以執行以下操作:

// Assumes "low" numbers of tokens and each token < 1000
function unversion(s) {
  var tokens = s.split('.');
  var total = 0;
  $.each(tokens, function(i, token) {
    total += Number(token) * Math.pow(0.001, i);
  });
  return total;
}

//  that version b is after version a
function isAfter(a, b) {
  return unversion(a) < unversion(b);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM