Commit 8b5c0f45 authored by konovalovsergey's avatar konovalovsergey

fix bug 32471. также убрано чтобы на вводе 0xff распознавалось как число.

parent 72d25261
......@@ -331,21 +331,17 @@ cString.prototype.tocNumber = function () {
}*/
if ( g_oFormatParser.isLocaleNumber( this.value ) ) {
if ("." != AscCommon.g_oDefaultCultureInfo.NumberDecimalSeparator) {
m = this.value.replace( ".", "q" );//заменяем на символ с которым не распознается, как в Excel
m = m.replace(AscCommon.g_oDefaultCultureInfo.NumberDecimalSeparator, ".");
var numberValue = g_oFormatParser.parseLocaleNumber( this.value );
if ( !isNaN( numberValue ) ) {
res = new cNumber( numberValue );
}
if ( !parseNum( m ) ) {
res = new cError( cErrorType.wrong_value_type );
} else {
var numberValue = g_oFormatParser.parseLocaleNumber( this.value );
if ( !isNaN( numberValue ) ) {
res = new cNumber( numberValue );
}
var parseRes = AscCommon.g_oFormatParser.parse(this.value);
if(null != parseRes) {
res = new cNumber( parseRes.value );
} else {
res = new cError( cErrorType.wrong_value_type );
}
} else {
res = new cError( cErrorType.wrong_value_type );
}
return res;
......
......@@ -2709,7 +2709,8 @@ FormatParser.prototype =
val = val.replace(".", "q");//заменяем на символ с которым не распознается, как в Excel
val = val.replace(cultureInfo.NumberDecimalSeparator, ".");
}
return Asc.isNumberInfinity(val);
//parseNum исключаем запись числа в 16-ричной форме из числа.
return AscCommonExcel.parseNum(val) && Asc.isNumberInfinity(val);
},
parseLocaleNumber: function (val, cultureInfo) {
if (null == cultureInfo)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment