java求整數(shù)的位數(shù)方式
求整數(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),不寫(xiě)了。
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)文章
基于spring三方包類(lèi)注入容器的四種方式小結(jié)
這篇文章主要介紹了基于spring三方包類(lèi)注入容器的四種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Java中重載與重寫(xiě)的對(duì)比與區(qū)別
這篇文章主要介紹了Java中重載與重寫(xiě)的對(duì)比與區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-03-03
Java實(shí)現(xiàn)后端跨域的常見(jiàn)解決方案
跨源資源共享(CORS——Cross-Origin Resource Sharing,跨源資源共享,或通俗地譯為跨域資源共享)是一種基于 HTTP 頭的機(jī)制,跨域的解決方案有很多種,前后端都有,本文給大家主要介紹Java實(shí)現(xiàn)后端跨域的常見(jiàn)解決方案,需要的朋友可以參考下2024-04-04
mybatis的insert語(yǔ)句插入數(shù)據(jù)時(shí)的返回值的實(shí)現(xiàn)
這篇文章主要介紹了mybatis的insert語(yǔ)句插入數(shù)據(jù)時(shí)的返回值的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
sharding-jdbc讀寫(xiě)分離原理詳細(xì)解析
這篇文章主要介紹了sharding-jdbc讀寫(xiě)分離原理詳細(xì)解析,很多時(shí)候,為了應(yīng)付DB的高并發(fā)讀寫(xiě),我們會(huì)采用讀寫(xiě)分離技術(shù),讀寫(xiě)分離指的是利用數(shù)據(jù)庫(kù)主從技術(shù)(把數(shù)據(jù)復(fù)制到多個(gè)節(jié)點(diǎn)中),分散讀多個(gè)庫(kù)以支持高并發(fā)的讀,需要的朋友可以參考下2023-12-12
IDEA中用maven連接數(shù)據(jù)庫(kù)的教程
這篇文章主要介紹了IDEA中用maven連接數(shù)據(jù)庫(kù)的教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Java實(shí)現(xiàn)雙端鏈表LinkedList
本文主要介紹了Java實(shí)現(xiàn)雙端鏈表LinkedList,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

