用于求和的字符串到数字
String to number for sum
如何将以下字符串转换为总和?
var sums = [{sum:"0+0=0"},{sum:"1+0=1"}
var str = sums[0].sum;
var sum = 0;
for(i=0;i<str.length;i++){
var n = parseInt(str[i])
sum += n;//Help
}
使用这种方法的原因是我在数组中传递了一个字符串和。如果它不是一个字符串值,那么传递它就会出错。然后我需要计算和并返回答案。
sums[0]
为Object
。str
应该是sums[0].sum
才行
但是!如果数字超过1位,当前的实现将失败。更安全的方法是拆分字符串:
var sums = [{sum:"0+0=0"},{sum:"1+0=1"}]
var str = sums[0].sum;
// Detecting operator
var operator;
if ( str.indexOf( '+' ) ) operator = '+';
if ( str.indexOf( '-' ) ) operator = '-';
if ( str.indexOf( '*' ) ) operator = '*';
if ( str.indexOf( '/' ) ) operator = '/';
var chunks = str.split( operator );
var firstOperand = parseInt( chunks[0] );
var secondOperand = parseInt( chunks[1].split('=')[0] );
var result;
switch ( operator ) {
case '+':
result = firstOperand + secondOperand; break;
case '-':
result = firstOperand - secondOperand; break;
case '*':
result = firstOperand * secondOperand; break;
case '/':
result = firstOperand / secondOperand; break;
default: break;
}
console.log( 'RESULT:', result );
假设您要求和的每个字符串的部分是=
:
var sum = 0;
var n = 0;
var result = "";
for(i=0; i<str.length; i++){
n = str[i].sum.lastIndexOf('=');
result = str[i].sum.substring(n + 1);
sum += parseInt(result, 10); // don't forget to specify radix
}
也就是说,我们确实需要更多的信息来帮助你。
相关文章:
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- 在数字字符串的最后两个数字上加上小数
- 在JavaScript中,增加字母数字字符串末尾的数字
- 如何对字母数字字符串值进行排序
- 从数字字符串中获取整数
- Regex用于字母数字字符串中的数字计数
- 如何使用 Javascript/jQuery 将数字字符串递增 +1
- 使用 javascript 计算数字字符串
- parseInt 用于分析数字字符串的替代方法
- 任何输入或文本区域中数字字符串的事件侦听器
- Javascript:生成唯一数字字符串的最佳方法是什么
- JavaScript 中的随机字母数字字符串
- Google Charts - hAxis 上的数字/字符串问题(Jquery ajax JSON 数据)
- Lodash _.sortByOrder 数字字符串
- JavaScript 中一位数数字字符串的总和
- 在JavaScript中将非数字字符串转换为数字
- 使用 Lodash 对数字字符串数组进行排序
- 检查数字字符串是否包含十进制
- 显示以数字字符串形式存在的类