數字還可以這樣表示?100_000 == 100000?

    今天偶然的看到一個代碼,表示int類型,竟然用到了這樣的表示方式:

    

    我一開始還有些懵逼,下劃線還能用在數字表示中?

    今天又在瀏覽器開發者模式下試了一下:

    

    看來,java和javascript似乎對於下劃線連接數字,都表示默許了。好在這種表示方法並不具有可推導性,就是說100_000能夠表示100000,但是字符串形式的100_000並不能直接轉爲100000。否則,我們曾經判斷數字的正則表達式可能統統要失效,各種場景下的數字校驗需要重新設計。

    下劃線表示數字,好像是jdk1.7以後引入到java中的,它也遵循一定的規則,並不是任意位置的下劃線都是合法的,比如下面的表示都是非法的:

    

    數字開頭和結尾是不能使用下劃線的,一些特殊的表示,比如double,long,float會在結尾使用d,l,f在這類表示前面也是無法使用下滑線的,還有一類,小數點前後也是無法使用下劃線的。

    如下的下劃線表示數字都是正確的:

    

    數字表示使用下劃線隔開,可讀性增加了,但是卻容易引起誤解,個人感覺還是慎用,但是有的人說提倡大家使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章