2015-11-20 6 views
0

Мне нужно работать с рациональными в Javascript, которые имеют знаменатель 1. Итак, у меня есть значение ввода, скажем 1024, и мне нужно сохранить его как 1024/1. Конечно 1024/1 просто дает мне 1024. Так как я могу получить исходную рациональную версию?Javascript rationals - сохраняющий знаменатель 1

+0

Я думаю, что этот пакет может быть полезным: https://www.npmjs.com/package/rationals – jianweichuah

ответ

0

Что вы собираетесь делать с рациональными? Если это просто для простой арифметики, вы можете просто написать ее самостоятельно.

Ниже приведен пример, вы бы сделали что-то подобное для других операторов.

Надеется, что это помогает

function Rational(n, d) { 
    this.n = n; 
    this.d = d; 
} 
Rational.prototype.multiply = function(other) { 
    return this.reduce(this.n * other.n, this.d * other.d) 
} 
Rational.prototype.reduce = function(n, d) { 
    //http://stackoverflow.com/questions/4652468/is-there-a-javascript-function-that-reduces-a-fraction 
    var gcd = function gcd(a,b){ 
     return b ? gcd(b, a%b) : a; 
    }; 
    gcd = gcd(n,d); 
    return new Rational(n/gcd, d/gcd); 
} 

var r1 = new Rational(1, 2); 
var r2 = new Rational(24, 1); 
var result = r1.multiply(r2); 
console.log(result); // Rational(12, 1); 
console.log(result.n + '/' + result.d); // 12/1 

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

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