bc:小数分隔符逗号与点

bc:小数分隔符逗号与点

我喜欢在交互模式下使用 bc 作为计算器。但是,它只接受句点 (.) 作为小数分隔符,但我使用的是德语键盘布局,因此数字键盘上只有逗号 (,)。当单手在数字键盘上使用 bc 时,这非常不方便,因为输入小数时我必须移动手并寻找句点键。

所以我正在寻找一种仅在数字键盘上使用 bc 的简单方法。

我现在看到的一些可能性:

  • 将 bc 的键盘布局更改为英语
  • 输入时将逗号替换为句点
  • 更改 bc 中的小数点分隔符

如有任何想法我将不胜感激。

答案1

这是我的替代 bc 的别名:

sh -c "sed -u 's/,/./g' | bc -l"

我的窗口管理器下有这个快捷方式:

urxvt -e sh -c "sed -u 's/,/./g' | bc -l"

祝你好运!

答案2

我的变体不会破坏 bc 中的所有 readline 函数:

alias bcl='xmodmap -e "keycode 91 mod2 = KP_Delete period"; bc -l; xmodmap -e "keycode 91 mod2 = KP_Delete comma"'

这会在启动 bc 之前将键盘的 Delete/Comma 键重新映射到 Delete/Period,并在 bc 退出后将其映射回逗号。

相关内容