2015-11-25 5 views
0

Вот мой код,как найти, почему ошибка синтаксиса происходит и как добиться формата Globalize

Globalize.format(50.635676576567%, 'n2') 

это бросить синтаксическую ошибку из-за % было добавлено в количестве. но мне нужно показать результат как 50,64%. как достичь универсального способа {Примечание: символ может быть чем-то вроде символа или специального номера ничего ...}

Пример:

Globalize.format(50.635676576567%, 'n2') = 50.64% 
Globalize.format(50.635676576567C, 'n2') = 50.64C 
Globalize.format([email protected], 'n2') = [email protected] 
Globalize.format($50.635676576567, 'n2') = $50.64 
Globalize.format(#50.635676576567, 'n2') = #50.64 
Globalize.format(50.635676576567world, 'n2') = 50.64 world 

как достичь?

ответ

1

Пожалуйста, попробуйте этот код. Вы должны разделить символы и цифры, чтобы выполнить формат глобализации.

var str = "Globalize.format(50.635676576567world, 'n2') Globalize.format($50.635676576567, 'n2') ", 
substr; 

while (str.indexOf('Globalize.format(') >= 0) { 
    substr = str.substring(str.indexOf('Globalize.format('), str.indexOf(")") + 1); 
    var calculate = substr.substring(substr.indexOf('(') + 1, substr.indexOf(",")), 
    character = calculate.replace(/[0-9.]/g, ''), 
    numberic = calculate.replace(/[^\d.]/g, ''), 
    index = calculate.indexOf(character), 
    formatedString = substr.replace(character, ""); 
    if (index == 0) 
     formatedString = character + eval(formatedString); 
    else 
     formatedString = eval(formatedString) + character; 
    str = str.replace(substr, formatedString); 
} 
console.log(str); 

Надеюсь, это вам поможет.

+0

работает отлично для кода ур –

0

Вы можете просто добавить нужный символ после применения Globalize.format

Globalize.format(50.635676576567, 'n2')+'%'; 
Globalize.format(50.635676576567, 'n2')+'C'; 
'#'+Globalize.format(50.635676576567, 'n2'); 

И так далее.

+0

спасибо .. он будет работать, но из-за некоторого сценария мне нужно использовать такой формат .. (Globalize.format (50.635676576567C, 'n2')), как этого добиться .. в моем сценарии im conversion var format = "(Globalize.format (50.635676576567C, 'n2')"; var a = eval (format); –

1

Вы бы только добавить символ на выходе, то есть:

Globalize.format(50.635676576567, 'n2') + '%' = "50.64%" 
Globalize.format(50.635676576567, 'n2') + 'C' = "50.64C" 
Globalize.format(50.635676576567, 'n2') + '@' = "[email protected]" 
'$' + Globalize.format(50.635676576567, 'n2') = "$50.64" 
'#' + Globalize.format(50.635676576567, 'n2') = "#50.64" 
Globalize.format(50.635676576567, 'n2') + ' world' = "50.64 world" 
+0

спасибо .. это сработает, но из-за какого-то сценария мне нужно так использовать format .. (Globalize.format (50.635676576567C, 'n2')), как достичь из этого формата .. в моем сценарии im, конвертирующем так, var format = "(Globalize.format (50.635676576567C, 'n2') "; var a = eval (формат); –

 Смежные вопросы

  • Нет связанных вопросов^_^