2012-05-09 91 views
0

如果我在VBScript中運行下面的代碼都按預期工作,如果我在ASP(IIS 7)中運行它,我得到這個錯誤的結果。有誰知道爲什麼?不同的結果ASP比VBScript

mumber = "027609366" 
WScript.Echo Left(number, 2) & " " & _ 
      Mid(number, 3, 2) & " " & _ 
      Mid(number, 5, 2) & " " & _ 
      Right(number, 3) 

' vbs => 03 76 09 366 (right) 
' asp => 03 76 09 66 (wrong) 

我現在用它的工作原理如下:

Left(number, 2) & " " & _ 
Mid(number, 3, 2) & " " & _ 
Mid(number, 5, 2) & " " & _ 
Mid(number, 7) 

但我不知道爲什麼會這樣。

+1

這不能是確切的代碼(因爲你指定'mumber',但是作用於'number')。 ASP案例中'number'的末尾是否有額外的空間? –

+1

VBScript和經典ASP使用相同的語言核心。結果不能不同。 – Tomalak

+3

一般提示:*總是*使用'Option Explicit'來防止變量名稱中的拼寫錯誤。在這種情況下堅持用'Mid()'。代碼看起來不僅更加一致,而且在字符串末尾有空格時也會產生正確的結果 - 而Right()會產生不同的結果。 – Tomalak

回答

2

ASP代碼是用VBScript編寫的,所以結果不會不同,因爲它們在技術上是一樣的。

在某個地方的某個數字的末尾是否有額外的空間,可能導致數字顯示不正確?

+0

我檢查了長度,但沒有發現問題,如果我做一個修剪()的問題也解決了,謝謝 – peter