数字字符减去数字字符0就是数字

本文介绍了一段Java代码,展示了如何将数字字符转换为整数,包括使用Integer.valueOf方法和ASCII码值转换。通过实例演示了字符到数字的转换过程。

package com.jack;

public class Test {
	public static void main(String[] args) {
		
		System.out.println("9:"+(Integer.valueOf('9')));
		System.out.println("8:"+(Integer.valueOf('8')));
		System.out.println("0:"+(Integer.valueOf('0')));//这里打印的是ascll码的值,Integer.valueOf("字符串数字")这里打印的是数字
		
		System.out.println(('9')+('8'));
		System.out.println(('9'-'0')+('8'-'0'));//数字字符减去数字字符0就是数字
	}

}


在 JavaScript 中,数字字符串本身不能直接进行相运算。因为当对字符串使用法运算符时,JavaScript 会尝试将字符串转换为数字类型后再进行计算。如果字符串无法正确转换为数字,会得到 `NaN`(Not a Number)。 以下是示例代码: ```javascript const str1 = "10"; const str2 = "5"; const result = str1 - str2; console.log(result); // 输出: 5 const str3 = "abc"; const str4 = "1"; const result2 = str3 - str4; console.log(result2); // 输出: NaN ``` 如果想要实现两个表示数字字符串相,并且不依赖 JavaScript 自动的类型转换,可以手动实现算法来处理大数字字符串的相。 ### 实现思路 1. 比较两个数字字符串的大小,确定结果的正负。 2. 对字符串进行补零操作,使它们长度相同。 3. 从低位到高位逐位相,处理借位。 4. 去除结果前面多余的零。 ### 示例代码 ```javascript function subtractStrings(num1, num2) { // 判断正负 let isNegative = false; if (num1.length < num2.length || (num1.length === num2.length && num1 < num2)) { [num1, num2] = [num2, num1]; isNegative = true; } // 补零 num1 = num1.padStart(Math.max(num1.length, num2.length), '0'); num2 = num2.padStart(Math.max(num1.length, num2.length), '0'); let result = ''; let borrow = 0; for (let i = num1.length - 1; i >= 0; i--) { let digit1 = parseInt(num1[i], 10); let digit2 = parseInt(num2[i], 10); let diff = digit1 - digit2 - borrow; if (diff < 0) { diff += 10; borrow = 1; } else { borrow = 0; } result = diff.toString() + result; } // 去除前导零 result = result.replace(/^0+/, ''); result = result === '' ? '0' : result; return isNegative ? '-' + result : result; } const numStr1 = "12345"; const numStr2 = "6789"; const subtractResult = subtractStrings(numStr1, numStr2); console.log(subtractResult); // 输出: 5556 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值