функция tonumber

Страницы: 1
RSS
функция tonumber
 
Функция tonumber должна обрезать нули,почему же она этого не делает ?
  priceB=tonumber (getParamEx("SPBFUT", "SRH6", 'offer').param_value)

t = {

["CLASSCODE"]="SPBFUT",

["SECCODE"]="SRH6 ",

["ACTION"]="NEW_ORDER",

["ACCOUNT"]="   ",

["CLIENT_CODE"]=" 99883 ",

["TYPE"]="L",

["OPERATION"]="S",

["QUANTITY"]="1",

["PRICE"]=tonumber(priceB),

["TRANS_ID"]="1"

}

res=sendTransaction(t)

message(res,1)
 
Почему вы так решили?

tonumber (e [, base])Tries to convert its argument to a number. If the argument is already a number or a string convertible to a number, then tonumber returns this number; otherwise, it returns nil.An optional argument specifies the base to interpret the numeral. The base may be any integer between 2 and 36, inclusive. In bases above 10, the letter 'A' (in either upper or lower case) represents 10, 'B' represents 11, and so forth, with 'Z' representing 35. In base 10 (the default), the number can have a decimal part, as well as an optional exponent part (see §2.1). In other bases, only unsigned integers are accepted.
http://www.lua.org/manual/5.1/manual.html
 
В транзакцию надо передавать значения в текстовом формате. Если вы передаёте число, то QUIK сам его форматирует в строку по стандартному шаблону, не учитывая точность инструмента.
Надо делать так, как надо. А как не надо - делать не надо.
 
правильно так:
["PRICE"]=tostring(priceB),
Страницы: 1
Читают тему
Наверх