java求整數(shù)的位數(shù)方式
更新時間:2022年01月27日 09:46:58 作者:Mingyueyixi
這篇文章主要介紹了java求整數(shù)的位數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
求整數(shù)的位數(shù)
一般有幾種方法,其一是轉(zhuǎn)成字符串求,缺點是字符串耗時間長;另一種是用Math.log10();用log函數(shù);還有一種用循環(huán)除以10的方式求出;最后一種,直接判斷<10,<100,<1000,<10000……或許效率挺高吧,因為不需要計算。
其一
private static int getNumLenght(long num){
? ? ? ? num = num>0?num:-num; ? ? ??
? ? ? ? return String.valueOf(num).length();
? ? }其二
private static int getNumLenght(long num){
? ? ? ? num = num>0?num:-num; ? ? ??
? ? ? ? if (num==0) {
? ? ? ? ? ? return 1;
? ? ? ? }
? ? ? ? return (int) Math.log10(num)+1;
? ? }其三
private static int getNumLenght(long num){
? ? ? ? if (num==0) {
? ? ? ? ? ? return 1;
? ? ? ? }
? ? ? ? int lenght = 0;
? ? ? ? for (long temp = num ; temp != 0; temp/=10){
? ? ? ? ? ? lenght++;
? ? ? ? }
? ? ? ? return lenght;
? ? }最后一種老長老長,不寫了。
java整數(shù)位數(shù)判斷
public class Test { ? ?
final static int[] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999, ? ?
99999999, 999999999, Integer.MAX_VALUE }; ? ?
public static void main(String[] args) { ? ?
? ? ? ? System.out.println(sizeOfInt(1234)); ? ?
? ? } ? ?
static int sizeOfInt(int x) { ? ?
for (int i = 0;; i++) ? ?
if (x <= sizeTable[i]) ? ?
return i + 1; ? ?
? ? }?
} ?以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis的insert語句插入數(shù)據(jù)時的返回值的實現(xiàn)
這篇文章主要介紹了mybatis的insert語句插入數(shù)據(jù)時的返回值的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

