【问题标题】:Javascript how to adding minus number and positive numberJavascript如何添加负数和正数
【发布时间】:2020-07-27 04:27:30
【问题描述】:

我做了一个简单的程序将数字转换为单词。当我想转换负数时遇到问题。

我想在数组 'satuan' 中找到索引,以便稍后我添加单词 'minus'

在我的代码中,顺便说一句,我使用印度尼西亚语。

js代码:

// i have array like this
var satuan  = ['', 'satu', 'dua', 'tiga', 'empat', 'lima', 'enam', 'tujuh', 'delapan', 'sembilan'];

// and my function to convert minus number like this
function convert_minesPuluhan(num) {
  var c = Math.abs(num) + Math.abs(num);
  if (num < 0 && num > -10) {
    return satuan[num + c];
  }
}

但是当我使用 console.log(num + c) 时。结果是(例如 num 值为 -1)-12。

但我想要的是 -1 + 1 + 1 = 1

// so i want like this
satuan[1];

如何解决?

【问题讨论】:

  • 当我将console.log(convert_minesPuluhan(-1)); 添加到您的脚本时,输出为satu(我认为这是您想要的)...
  • 2 个绝对值加起来怎么会小于0?只需使用 Array 表示法来获取 Array 元素。如果你只是想让消极变成积极if(num &lt; 0){satuan[Math.abs(-1)].
  • 谁能解释一下为什么-ve number 需要这样转换?简单地将它与 -1 相乘应该可以解决问题,对吗?还是有什么目的。
  • function convert_minesPuluhan(num){ let n = num &lt; 0 ? Math.abs(num) : num; return satuan[n]; }

标签: javascript numbers word


【解决方案1】:

你很可能得到num的字符串

因此,您必须先执行num = parseInt(num) 才能将其转换为 int 数据类型。

function convert_minesPuluhan(num) {
  num = parseInt(num)
  var c = Math.abs(num) + Math.abs(num);
  if (num < 0 && num > -10) {
    return satuan[num + c];
  }
}

【讨论】:

  • 什么意思?在 js 中,当您执行“-1”+2 时,您会得到“-12”(发生字符串连接),因此您必须先将其转换为数字数据类型。 num 只是他正在使用的一个变量。
【解决方案2】:

试试这个,你的代码工作正常。我了解您需要在负数之前添加“减号”关键字。

var satuan  = ['', 'satu', 'dua', 'tiga', 'empat', 'lima', 'enam', 'tujuh', 'delapan', 'sembilan'];

// and my function to convert minus number like this
function convert_minesPuluhan(num) {
  var c = Math.abs(num) + Math.abs(num);

  if (num < 0 && num > -10) {
    console.log("minus " + satuan[num + c])
    return "minus " + satuan[num + c];
  }
}

convert_minesPuluhan(-5)

【讨论】:

    【解决方案3】:

    您需要将函数的输入转换为整数

    您在函数“-1”和“2”中添加了 2 个字符串,这就是为什么您得到未定义的“-12”。

    let num = parseInt(num);
    

    在你的函数中试试这个,其余的都是一样的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      相关资源
      最近更新 更多