Четыре арифметические операции JavaScript
Автор:Eve Cole
Время обновления:2009-06-11 16:23:19
<тип сценария="текст/javascript">
вар такжеAString = '25';
вар isANumber = 25;
// var isEqual = (такжеAString==isANumber); // Это правда, их обоих 25.
var isEqual = (такжеAString===isANumber // False, один — число, другой — строка);
// оповещение(isEqual);
вар floatError=0.06+0.01
//оповещение(floatError);
//Функция деления, используемая для получения точных результатов деления
//Примечание: результат деления JavaScript будет содержать ошибки, которые будут более очевидны при делении двух чисел с плавающей запятой. Эта функция возвращает более точный результат деления.
//Вызов: accDiv(arg1,arg2)
//Возвращаемое значение: точный результат деления arg1 на arg2
функция accDiv(arg1,arg2){
вар t1=0,t2=0,r1,r2;
try{t1=arg1.toString().split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
с (Математика) {
r1=Число(arg1.toString().replace(".",""))
r2=Число(arg2.toString().replace(".",""))
return (r1/r2)*pow(10,t2-t1);
}
}
//Добавляем метод div к типу Number, чтобы его было удобнее вызывать.
Number.prototype.div = функция (arg){
вернуть AccDiv (это, arg);
}
//Функция умножения, используемая для получения точных результатов умножения
//Примечание. Результат умножения JavaScript будет содержать ошибки, что будет более очевидно при умножении двух чисел с плавающей запятой. Эта функция возвращает более точный результат умножения.
//Вызов: accMul(arg1,arg2)
//Возвращаемое значение: точный результат умножения arg1 на arg2
функция accMul(arg1,arg2)
{
вар m=0,s1=arg1.toString(),s2=arg2.toString();
попробуйте {m+=s1.split(".")[1].length}catch(e){}
попробуйте {m+=s2.split(".")[1].length}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
//Добавляем метод mul к типу Number, чтобы его было удобнее вызывать.
Number.prototype.mul = функция (arg){
вернуть аккМул (аргумент, это);
}
//Функция сложения, используемая для получения точных результатов сложения
//Примечание: результат сложения JavaScript будет содержать ошибки, которые будут более очевидны при добавлении двух чисел с плавающей запятой. Эта функция возвращает более точный результат сложения.
//Вызов: accAdd(arg1,arg2)
//Возвращаемое значение: точный результат arg1 плюс arg2
функция accAdd(arg1,arg2){
вар r1,r2,m;
try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
попробуйте {r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
возврат (arg1*m+arg2*m)/m
}
//Добавляем метод add к типу Number, чтобы его было удобнее вызывать.
Number.prototype.add = функция (arg){
вернуть accAdd(arg,this);
}
document.writeln("Неулучшенная работа: 7*0.8="+7*0.8+"<br>");
document.writeln("Работа после улучшения: 7*0.8="+(7).mul(0.8)+"<br>");
document.writeln("Неулучшенная операция: 0.06+0.01=" + 0.06+0.01 +"<br>")
document.writeln("Улучшенная работа: 0.06+0.01=" + 0.06.add(0.01) +"<br>")
</скрипт>