取一个数字参数并保留其形式

Take a number argument and perserve its form?

本文关键字:保留 参数 数字 一个      更新时间:2023-09-26

我正在尝试扩展我在网上找到的解释器。解释器将数字作为唯一的参数,并将其作为字符串返回(1 -> one, 2.3 -> two point three...等(。我扩展了它的"语言",使其包含运算符名称(如"TIMES"和"PLUS"(。

现在,这是我的问题。为了使这些运算符成立,我认为谨慎包含的唯一方法是将其作为字符串传递,而不是将参数作为数字传递。例如,如果我3*5-23.2传递给函数,我希望它返回three TIMES five MINUS twenty three point two 。相反,我得到negative eight point two,这是前一个参数的评估形式。

有没有办法操纵参数,使其在计算之前成为字符串?或者我必须强制用户输入字符串(这是一件坏事吗?

编辑 1

我的代码是基于控制台的代码;用户像这样访问它:

> wordify(34)
"thirty four"
> wordify(3.4)
"three point four"
> wordify(Math.PI)
"three point one four one five nine two six..."  // omitted for convenience

如果要从 <input> 元素中获取它,我就不会有那么多麻烦(因为默认值一开始就是一个字符串(,唉,事实并非如此。

除了将字符串传递给函数之外,没有其他方法,因为在执行函数调用之前必须计算所有参数。为什么你认为期望字符串输入是一件坏事?如果值派生自 HTML 输入字段,则除非显式计算,否则它将始终是字符串。