excel數(shù)字自動(dòng)減少位數(shù) shell如何實(shí)現(xiàn)字符串不足N位自動(dòng)補(bǔ)零?
shell如何實(shí)現(xiàn)字符串不足N位自動(dòng)補(bǔ)零?Shell處理字符串。如果字符串長(zhǎng)度小于5位,則需要自動(dòng)填充左邊的0。例如:123,自動(dòng)完成是00123有兩種解決方案:一種是shell的printf命令:1
shell如何實(shí)現(xiàn)字符串不足N位自動(dòng)補(bǔ)零?
Shell處理字符串。如果字符串長(zhǎng)度小于5位,則需要自動(dòng)填充左邊的0。
例如:123,自動(dòng)完成是00123
有兩種解決方案:
一種是shell的printf命令:
1 printf“ dn”123
另一種是使用awk:
1 echo 123 | awk“{printf(“ dn”,$0)}”
數(shù)字轉(zhuǎn)換字符串,不足長(zhǎng)度補(bǔ)零?
根據(jù)您的想法編寫:(前提是您的長(zhǎng)度已經(jīng)確定!例如,現(xiàn)實(shí)中的10個(gè)它的循環(huán)太慢了!int ium=27字符串strum=String.valueOf值(ium)字符串str=“0000000000”strum=結(jié)構(gòu)子串(0,10-strum.length())strum系統(tǒng)輸出打?。╯tr_um)
發(fā)現(xiàn)一個(gè)C語(yǔ)言BUG,定義int變量時(shí)靠近c(diǎn)har的變量會(huì)變成0,是什么原因?
許多開發(fā)人員都有過這種經(jīng)歷。當(dāng)他們被一些奇怪的問題弄得精疲力盡時(shí),他們開始懷疑開發(fā)環(huán)境、編譯器、運(yùn)行時(shí),甚至生命。是的,我見過他們,但是我最終發(fā)現(xiàn)開發(fā)環(huán)境、編譯器和運(yùn)行時(shí)都有bug中獎(jiǎng)的概率太低了,比中獎(jiǎng)的概率還低。問題還是我們自己的,但定位問題的過程比較曲折。
在這種情況下,變量的值是不確定的。它可以是任意值或0。
2. 變量在某個(gè)時(shí)間會(huì)被其他地方修改,例如通過指針修改,或者在調(diào)用函數(shù)時(shí)通過引用修改。這兩種方法在代碼級(jí)別可能不是很直觀,很容易被忽略。
所以受試者可以根據(jù)我說(shuō)的情況來(lái)分析定位問題。
C語(yǔ)言中double數(shù)字,以浮點(diǎn)輸出小數(shù)后面全部變?yōu)榱愕膯栴}?
您可以使用sprintf函數(shù)將數(shù)字四舍五入為字符串,并處理字符串以實(shí)現(xiàn)所需的函數(shù)。具體代碼為#include<stdio。H>intmain(intargc,char*argv)]{charbuffer[40]//存儲(chǔ)浮點(diǎn)數(shù)據(jù),floatfnum=12.396//要測(cè)試的數(shù)據(jù),sprintf(buffer,“%”。2F”,F(xiàn)Num)//四舍五入到字符串,inti=0For(*(buffer I)!= ". “I)//If(*(buffer I 2)=”0“)//處理小數(shù)點(diǎn)后的第二個(gè)字符。如果為0,則替換為“0”*(buffer I 2)=“0”printf(”舍入后,數(shù)據(jù)變?yōu)?sn,”,buffer)return0}float,這是單精度浮點(diǎn)數(shù)據(jù)。在turboc中,單精度浮點(diǎn)數(shù)據(jù)占用4字節(jié)(32位)的內(nèi)存空間,其數(shù)值范圍為3.4e-38~3.4e-38,只能提供7位有效數(shù)字。建議以字符串形式輸入,這樣統(tǒng)計(jì)數(shù)據(jù)就不會(huì)出現(xiàn)偏差。當(dāng)使用數(shù)字時(shí),使用doubletof(constchar*STR)函數(shù)轉(zhuǎn)換;如果使用數(shù)字,系統(tǒng)會(huì)自動(dòng)填入0,與實(shí)際期望不符。