You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML+JS简易计算器负数显示异常:为何显示‘5-’而非‘-5’?

计算器负数显示异常问题解析

问题原因

你的计算器输入框(#input)设置了CSS属性 direction: rtl(从右到左排版)。当计算结果为负数时,负号会被RTL排版规则推到数字的右侧,导致显示成5-这类错误格式,但JavaScript层面的计算结果是完全正确的——只是显示时的排版方向搞反了符号位置。

修复方法

用text-align: right替代direction: rtl,这样既能保持数字靠右对齐的视觉效果,又不会打乱负数符号的正常位置:

修改#input的CSS代码:

#input{
  width:90%;
  height:90%;
  background-color:rgba(0, 0, 0, 0);    
  color:white;
  font-size: 15vw;
  /* 移除direction: rtl,替换为右对齐 */
  text-align: right;
  font-family: Helvetica, sans-serif;
}

额外说明

RTL属性是为阿拉伯语、希伯来语等从右到左书写的语言设计的,不适合用来实现普通计算器的数字右对齐需求,用text-align: right才是正确的做法。

内容的提问来源于stack exchange,提问作者GianG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 04:42:00