2016-11-01 70 views
3

我有一個整數,我想將其轉換爲前導零的字符串。因此我有1並且想把它變成0114應該變成14而不是014將int轉換爲前導零的字符串

我想:

let str = (string 1).PadLeft(2, '0') // visual studio suggested this one 
let str = (string 1).PadLeft 2 '0' 
let str = String.PadLeft 2 '0' (string 1) 

但無論是工作:( 當我尋找這樣的事情在F#中,我得到的東西與printfn但我不希望打印到stdout:/

免責聲明:這是我的第一個F#

回答

6

您可以使用sprintf它返回一個字符串,而不是打印到標準輸出任何以開頭的print函數10返回一個字符串。使用%0i填充零。在0i之間添加預期字符串的長度。例如,墊了四個零,您可以使用:

sprintf "%04i" 42 

// returns "0042" 
+0

我完全錯過了's'部分在'print' :) –

+0

出於某種原因,前'%0i'不起作用但'%02i'就像是魅力 –

+1

@Snæbjørn,'%0i'沒有任何意義,因爲爲了零填充字符串,您需要知道應該填充多長。 – bytebuster