2015-03-31 73 views
0

我正在處理可能或可能不是數值的字段。如果不是,數字,我就打印原樣,如果是數字,我會做一些關於它的計算,所以我嘗試:水晶報告是數字與數字

Local StringVar TxtUnct := {RESULT.ATTRIBUTE_1}; 
Local NumberVar Result := 0; 
if not(isNumeric(TxtUnct)) Then(
    TxtUnct 
); 
Local NumberVar unct :=ToNumber(TxtUnct); 

但我結束了一個「字符串非數字「。爲最後一行。顯然,它看起來是數字的,但不是ToNumber。 Crystal Reports中是否有任何「更嚴格」的檢查?

+0

一個公式只能有一個數據類型......它不能是一個字符串和另一個數字。 – Ryan 2015-03-31 12:57:49

+0

這只是它的一部分,我最終在所有情況下返回一個字符串。 – MortenSickel 2015-03-31 13:15:20

回答

0

您的表示方法錯誤...您首先要進行分配,但根據您的要求分配字符串是否是數字。所以像這樣改變。

Local StringVar TxtUnct; 
Local NumberVar Result := 0; 
if not(isNumeric(TxtUnct)) 
Then 
(
    TxtUnct :={RESULT.ATTRIBUTE_1}; 
); 
Local NumberVar unct :=ToNumber(TxtUnct) 
0

我想你只是過度複雜與所有這些局部變量。您可以通過簡單的if-then-else聲明完成。

local numbervar workingNumber; 

if not(isNumeric({RESULT.ATTRIBUTE_1}) then {RESULT.ATTRIBUTE_1} 
else 
    (
    workingNumber:=toNumber({RESULT.ATTRIBUTE_1}; 
    //do your numeric calculations on workingNumber here 
    toText(workingNumber) 
)