console
function turnNum(nums){
console.log(nums)
for(let i=0;i<nums.length;i++){
nums[i] = parseInt(nums[i])
}
return nums;
}
let alls = document.querySelector('.alls')
alls.addEventListener('click', function () {
let iip = document.querySelectorAll('.iip')
if(!iip[0].value || !iip[1].value){
return
}
let nums1 = iip[0].value.split('.')
let nums2 = iip[1].value.split('.')
let nums1Arr = [turnNum(nums1[0].split('')), turnNum(nums1[1].split(''))]
let nums2Arr = [turnNum(nums2[0].split('')),turnNum(nums2[1].split(''))]
console.log(nums1Arr,nums2Arr)
addTowFlotNumber(nums1Arr,nums2Arr)
console.log(addTowFlotNumber(nums1Arr,nums2Arr))
// document.querySelector('.valPrint').innerHTML = addTowFlotNumber(nums1Arr,nums2Arr)[0].toString()
})
function addTowNUmber(num, num2) {//小数点 求和
let floatingPointArr = []
for (let i = (num.length > num2.length ? num : num2).length - 1; i >= 0; i--) {
if (i <= ((num.length < num2.length ? num : num2).length - 1)) {
if ((num[i] + num2[i]) >= 10) {
if (i != 0) {
num[i - 1] = num[i - 1] + parseInt((num[i] + num2[i]).toString().split('')[0])
floatingPointArr.push(parseInt((num[i] + num2[i]).toString().split('')[1]))
} else {
floatingPointArr.push(parseInt((num[i] + num2[i]).toString().split('')[1]))
floatingPointArr.push(1)
}
} else {
floatingPointArr.push((num[i] + num2[i]))
}
} else {
floatingPointArr.push((num.length > num2.length ? num : num2)[i])
}
}
return floatingPointArr.reverse()
}
function addTowFlotNumber(n1, n2) { //两个浮点数相加
let arrNum = [[], []]
let ff = addTowNUmber(n1[1], n2[1])
if (ff.length > (n1[1].length > n2[1].length ? n1[1] : n2[1]).length) {
n1[0][n1[0].length - 1] = n1[0][n1[0].length - 1] + 1
}
for (let ffi = (ff.length > (n1[1].length > n2[1].length ? n1[1] : n2[1]).length ? 1 : 0); ffi < ff.length; ffi++) {
arrNum[1].push(ff[ffi])
}
console.log(arrNum[1])
// 整数求和
arrNum[0] = addTwointeger(n1[0], n2[0])
return arrNum
}
// let nums1Arr = [[1, 2, 3], [9, 9, 9]]
// let nums1Arr2 = [[4, 5, 6, 7], [4, 5, 6, 7]]
function addTwointeger(n1, n2) { //正整数求和
let newarr = []
let longArr
let shortArr
if((n1.length > n2.length ? n1 : n2).length!== (n1.length < n2.length ? n1 : n2).length){
longArr = (n1.length > n2.length ? n1 : n2).reverse()
shortArr = (n1.length < n2.length ? n1 : n2).reverse()
}else{
longArr = n1.reverse()
shortArr = n2.reverse()
}
for (let i = 0; i < longArr.length; i++) {
if ((longArr[i] + (shortArr[i] || 0)) >= 10) {
longArr[i + 1] = (longArr[i + 1] || 0) + 1
newarr.push(parseInt((longArr[i] + (shortArr[i])).toString().split('')[1]) || 0)
} else {
newarr.push(longArr[i] + (shortArr[i] || 0))
}
}
return newarr.reverse()
}
<input type="text" class="iip" >
<input type="text" class="iip" >
<div class="alls">
点击求和 : <span class="valPrint"></span>
</div>