java求整數(shù)的位數(shù)方式
更新時(shí)間:2022年01月27日 09:46:58 作者:Mingyueyixi
這篇文章主要介紹了java求整數(shù)的位數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
求整數(shù)的位數(shù)
一般有幾種方法,其一是轉(zhuǎn)成字符串求,缺點(diǎn)是字符串耗時(shí)間長(zhǎng);另一種是用Math.log10();用log函數(shù);還有一種用循環(huán)除以10的方式求出;最后一種,直接判斷<10,<100,<1000,<10000……或許效率挺高吧,因?yàn)椴恍枰?jì)算。
其一
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;
? ? }最后一種老長(zhǎng)老長(zhǎng),不寫了。
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; ? ?
? ? }?
} ?以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis的insert語句插入數(shù)據(jù)時(shí)的返回值的實(shí)現(xiàn)
這篇文章主要介紹了mybatis的insert語句插入數(shù)據(jù)時(shí)的返回值的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Java實(shí)現(xiàn)雙端鏈表LinkedList
本文主要介紹了Java實(shí)現(xiàn)雙端鏈表LinkedList,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

