Есть скриптик... точнее функция на javascript...
она корректно работает в IE › 5.5 и Опере... однако возвращает неправильный результат в IE 5.0... В чем вилы?
/*
function fix(f){
f = f.toString();
var re = /\,/gi;
f = f.replace(re, "\.");
f = Math.round(f*100);
var c = f / 100;
alert(c);
f = f.toString();
var w = c + "." + f.slice(-2);
var poprawnyFloat = /^-?[0-9]{1,}[.]{1}[0-9]{1,}$/i;
if(w.search(poprawnyFloat) == -1)
w = '0.00';
return w;
f = f.toString();
re = /\,/gi;
f = f.replace(re, "\.");
f = Math.round(f*100);
f = f.toString();
var l = f.length;
var w = f.slice(0,l-2) + "." + f.slice(-2);
var kropka = w.search(/\./gi);
if( kropka == 0 )
w = '0' + w;
if( l-kropka < 2 )
w = w + '0';
*/
/**
* Ustawia liczbie format taki jak dla float
* @return float
* @param float/int f
*/
function fix(f){
f = f.toString();
re = /\,/gi;
f = f.replace(re, "\.");
f = Math.round(f*100);
f = f.toString();
if( f.length < 3 ) {
while( f.length < 3 )
f = '0' + f;
}
var w = f.slice( 0, f.length-2 ) + "." + f.slice( -2 );
var poprawnyFloat = /^-?[0-9]{1,}[.]{1}[0-9]{1,}$/i;
if(w.search(poprawnyFloat) == -1)
w = '0.00';
return w;
} // end function fix
Заранее благодарен за советы...
на сайте разработчиков скрипта меня послали...
мол пусть твои пользователи апгрейдят IE, это их проблемы...
скрипт не работает в IE 5.0, в IE › 5.5 все Ок
Модератор: Duncon
Собственно правильно сделали. IE 5.0 идёт только вместе с win2K. Там куча дырок и багов. Если пользователь не проапгредился, то сам дурак.на сайте разработчиков скрипта меня послали
З.Ы: на будущее - локализуй ошибку сам. Копаться в таких длинных листингах мало у кого есть время и желание.
Даже самый дурацкий замысел можно воплотить мастерски