请问如何写html只能纯数字过长自动换行+自动去掉尾数0的number textarea?
目前用input number type只能一行,假设宽度只能100,大数量很多数字会被吃掉
想要多的数字跨行并且去掉尾数为0的如
123456789.234000
变成
1234566789.234
vue 的 data 取值还是能取得 123456789.234000
而不是 123456\n789.2\n34
是这样吗? textarea_number_data
就是要获取的值 textarea_number
是显示值
<script setup>import {ref} from "vue";const textarea_number_data = ref();const textarea_number = ref();const keyupNumber = () => { textarea_number_data.value = textarea_number.value.replace(/[^\d.]/g, "").replace(/\.(?=.*\.)/g, ""); console.log(textarea_number_data.value) textarea_number.value = textarea_number_data.value.match(/.{1,6}/g).join("\n");}</script><template><textarea v-model="textarea_number" @keyup="keyupNumber()"></textarea></template>
您可以使用 HTML 的 <textarea>
元素并设置其 wrap
属性为 hard
,以达到自动换行的效果。然后,您可以通过 JavaScript 获取和处理这个文本区域的内容,以实现自动去除尾数 0 的功能。
以下是一个可能的实现:
<template> <div> <textarea :value="formattedNumber" @input="updateNumber" wrap="hard" style="width: 100px; height: 200px;" ></textarea> </div></template><script>export default { data() { return { number: '', formattedNumber: '', }; }, methods: { updateNumber() { let str = this.number.toString(); let parts = str.split('.'); let integerPart = parts[0]; let decimalPart = parts[1] ? parts[1] : '0'; let formattedIntegerPart = ''; let formattedDecimalPart = ''; for(let i = 0; i < integerPart.length; i++) { if(integerPart[i] != '0' || formattedIntegerPart.length == 0) { formattedIntegerPart += integerPart[i]; } else if(integerPart[i] == '0' && formattedIntegerPart.length != 0) { break; } } for(let i = 0; i < decimalPart.length; i++) { if(decimalPart[i] != '0' || formattedDecimalPart.length == 0) { formattedDecimalPart += decimalPart[i]; } else if(decimalPart[i] == '0' && formattedDecimalPart.length != 0) { break; } } this.formattedNumber = formattedIntegerPart + '.' + formattedDecimalPart; }, }, mounted() { this.number = this.$data; // Assuming the initial value is stored in $data. You may need to adjust this line according to your actual situation. this.updateNumber(); // Call this method to format the number initially. },};</script>
这段代码的核心部分是 updateNumber
方法,它负责处理 <textarea>
的输入事件,将数字格式化为指定的形式。它首先将数字分割为整数部分和小数部分,然后分别对整数部分和小数部分进行处理。对于整数部分,它只保留每三位数字后的第一个非零数字,对于小数部分,它只保留每三位数字后的第一个非零数字。最后,它将格式化后的整数部分和小数部分重新组合起来,并设置为 <textarea>
的值。
问题内容: 我无法解决这个问题,感到很傻,但是如何关闭自动换行功能?css 属性可以通过强制启用,但不能强制 关闭 (只能与value 一起保留)。 如何强制自动换 行 ? 问题答案: 您需要使用CSS 属性。 特别是和是最常用的值。第一个似乎是您所追求的。
有一个计算:
我知道有一个有效的注释,它指示spring根据JSR-303验证一个控制器参数,在这个示例中: 但我希望能够以某种方式配置Spring,以便在所有控制器中启用验证,而无需明确指定有效的注释。 这有可能吗?一些Spring配置?利用AOP?。。。
问题内容: 我的内部具有以下样式: 一旦向表中添加了足够的数据,这将显示一个垂直滚动条。但是,添加新数据后,我希望该元素自动滚动到底部。 我可以使用哪些JavaScript代码执行此操作?我愿意在必要时使用JQuery中的选项,但希望使用JavaScript解决方案。 问题答案: 如果您不知道何时将数据添加到,则可以设置一个间隔,每隔几秒钟将元素的scrollTop更新为其scrollHeight
问题内容: 如何显示带有自动换行符的长字符串,网站地址,单词或符号集,以保持div宽度?我猜是一个自动换行。通常添加空格是可行的,但是是否有CSS解决方案,例如自动换行? 例如,它(非常讨厌)与div重叠,强制水平滚动等。 我可以在上面的字符串中添加什么以使其完全适合div中的几行或浏览器窗口? 问题答案: 长话短说: 就CSS解决方案而言,您必须:强制元素显示滚动条,并仅剪切掉任何多余的文本。有
问题内容: 我已经使用htmldoc一段时间了,但是遇到了一些相当严重的限制。我需要最终解决方案才能在Linux机器上工作。我将从Perl应用程序调用此库/实用程序/应用程序,因此任何Perl接口都将是一个奖励。 问题答案: 注意:此答案来自2008年,现在可能不正确;请检查其他答案 PrinceXML是我见过的最好的XML(它解析常规HTML以及XML / XHTML)。最好吗?好吧,它通过了a