laravel - 如何从代码中删除 ParseInt NaN 问题?
问题描述
这是我试图从输入值中获取总和的代码。当我输入数字时它工作正常,但是一旦我清除任何输入字段,我就会得到总计为 NaN。我知道将 parseInt 用于数字值很麻烦,但如果我不使用 parseInt 它会附加数字而不是对输入值进行 Sum。我要解决吗?为什么要出现 NaN 以及如何使此代码无错误 .. 不想将 if else 用于 NaN 或 IsNan 请建议实用的方法-
<template>
<div>
<form @submit.prevent="submit" autocomplete="off">
<div class="form-group d-flex mt-3">
<label for="zero" class="p-2 bg-info text-white redius-5">0</label>
<input style="width:100px;" min="0" class="form-control" name="zero" id="zero" v-model.number="zero" @click="doSum" v-model="fields.zero" oninput="validity.valid||(value=''); " />
<div v-if="errors && errors.zero" class="text-danger">{{ errors
.zero[0] }}</div>
<label for="one" class="p-2 bg-info text-white">1</label>
<input style="width:100px;" min="0" type="number" class="form-control" name="one" v-model.number="one" id="one" @click="doSum" v-model="fields.one" oninput="validity.valid||(value=''); "/>
<div v-if="errors && errors.one" class="text-danger">{{ errors.one[0] }}</div>
<label for="two" class="p-2 bg-info text-white">2</label>
<input style="width:100px;" min="0" type="number" class="form-control" name="two" v-model.number="two" id="two" @click="doSum" v-model="fields.two" oninput="validity.valid||(value=''); " />
<div v-if="errors && errors.two" class="text-danger">{{ errors.two[0] }}</div>
</div>
Total = {{ Bettotal }}
</form>
</div>
<script>
export default {
props: ['game_id', 'userId', 'this.rows'],
mounted() {
console.log('Component mounted.')
},
data() {
return {
timestamp: 0,
selectedGame: {},
gamesinfo: [],
zero:0,
one:0,
two:0,
Bettotal:0,
gamex: this.gameId,
rows: [],
count: 0,
fields: {},
errors: {},
success: false,
loaded: true,
};
},
doSum: function () {
this.Bettotal = parseInt(this.zero) + parseInt(this.one) + parseInt(this.two);
// if (isNaN(this.Bettotal)) this.Bettotal = 0;
return this.Bettotal;
},
};
解决方案
在您的 total() 方法中,而不是
acc += parseInt(row.value)
尝试:
acc += (row.value - 0)
我认为这个简单的技巧应该可以工作,因为当你从空字符串中减去零时,它会将其转换为数字。
推荐阅读
- javascript - 获取将图片上传为base64而不是文件
- verilog - 错误:(vsim-3033) Ripple_counter.v(22):“JK_flip_flop”的实例化失败。未找到设计单位
- javascript - 我如何在 JS 中转换这个挑战?
- javascript - 无法为 document.getElementsByClassName() 定位的元素应用样式
- spring - 迁移到 SpringBoot 2 Mockito 3.x 后集成测试套件失败
- python - 为什么模型表单集不保存在 django 中
- tabs - 在 Microsoft 团队的自定义应用程序中添加选项卡
- android - 在互联网可用之前,如何安排我的 android 聊天应用程序消息
- c++ - 使用 CMake 将 winmm.lib 链接到 CLion
- angular - Angular:处理要发布的表单将数据添加到后端