2

「1-1/2」のような一連のレシピの材料がリストされていますが、1食分量に応じて計算するには「1.5」のような適切な数に変更する必要があります。混合分数を10進数に変更するにはどうすればよいですか?「1/2」のようなもので機能するeval関数を見たことがありますが、「1-1/2」のようなものでは「.5」と評価されます。

ご協力いただきありがとうございます!

4

2 に答える 2

3

:安全チェックを追加してください(入力に「-」があることを確認するなど)

コード:

function toDecimal(_x) {
   var parts = _x.split("-");
   var decParts = parts[1].split("/");
   return parseInt(parts[0], 10) + 
             (parseInt(decParts[0], 10) / parseInt(decParts[1], 10));
}
var x = "1-1/2";
console.log(toDecimal(x));
于 2012-10-29T11:04:10.647 に答える