Javascript 接受一个数字论点并保持它的形式?

Javascript 接受一个数字论点并保持它的形式?,javascript,function,Javascript,Function,我正在尝试扩展我在网上找到的一个口译员。解释器将数字作为唯一的参数,并将其作为字符串返回(1->one,2.3->two point three…等)。我扩展了它的“语言”,这样它就包含了操作符名称(比如“TIMES”和“PLUS”) 现在,我的问题来了。为了让这些运算符保持不变,我发现唯一谨慎的方法是将参数作为数字传递,而不是作为字符串传递。例如,如果我要将3*5-23.2传递给函数,我希望它返回3乘以5减去23点2。相反,我得到了负八点二,这是前一个参数的计算形式 有没有一种方法可以操纵参数

我正在尝试扩展我在网上找到的一个口译员。解释器将数字作为唯一的参数,并将其作为字符串返回(
1->one,2.3->two point three…
等)。我扩展了它的“语言”,这样它就包含了操作符名称(比如“TIMES”和“PLUS”)

现在,我的问题来了。为了让这些运算符保持不变,我发现唯一谨慎的方法是将参数作为数字传递,而不是作为字符串传递。例如,如果我要将
3*5-23.2
传递给函数,我希望它返回
3乘以5减去23点2
。相反,我得到了负八点二,这是前一个参数的计算形式

有没有一种方法可以操纵参数,使其在求值之前成为字符串?或者我必须强迫用户输入一个字符串(这是一件坏事吗?)

编辑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

如果这是从
元素中获取的,我就不会有那么多麻烦(因为默认情况下首先是字符串),唉,事实并非如此。

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

我们需要查看一些代码:解释器(可能只是出现问题的部分)和您对它的扩展。否则,我们只是猜测您可能能够做些什么来解决您的问题。假设他们向您传递
某个变量
Math.sqrt(4)
。该怎么办?@user2357112如果某个_变量是字符串,我当前的代码将返回“不是数字”;sqrt(4)返回“2”。我们肯定需要看看你是如何得到“参数”的。。。来自
标记的输入已经是一个字符串,在您使用它之前可能会对其进行解析。@rfornal这是一个用户通过JavaScript编码访问的简单函数。(比如,他们会键入
5.32
来获得答案)。这就是问题所在,它不是来自
元素。而将其作为字符串传递将意味着用户需要更多的输入(但不完全确定这有多糟糕)。因此,在这种情况下,用户就是程序员,对吗?程序员必须知道这样一个事实,即函数调用将首先计算所有参数。这是大多数脚本和编程语言应用的基本概念。将输入放在两个引号之间真的有那么多工作吗?