2012-04-04 99 views
4

我使用STR整數轉換爲字符串()函數STR功能增加一個字符的字符串

然而,我注意到,STR()函數將返回多餘的字符的字符串。

例如,MsgBox(Len(str(1)))將返回2.

什麼是附加的額外的性格嗎?

+2

Doug Glancy的引用是正確的,但我會添加下一行:「使用Format函數將要格式化爲日期,時間或貨幣的數字值或其他用戶定義的格式轉換爲_Unlike Str,Format函數不包括number_號的前導空格。「 [我的斜體] – 2012-04-04 08:44:39

+1

如果你想修剪額外的空白空間,你總是可以使用這個'MsgBox(Len(Trim(Str(1))))' – 2012-04-04 10:27:39

+0

好點。 – 2012-04-04 19:57:56

回答

0

最簡單的方法找出:

MsgBox(Asc(Right(Str(1),1))) 
10

從Excel 2010中的幫助:

「當數轉換爲字符串,領先的空間總是留給數字的符號。如果數字爲正。 ,返回的字符串包含一個前導空格,並且隱含加號。「

而且果然這一說法在調試窗口返回true:

? left(str(1),1) = " " 
+0

+ 1是的,你在這個上是非常正確的:) – 2012-04-04 10:29:02

0

正如this答覆中指出,你應該使用format()功能。