如何在Javascript中显示2的3次方

3
我正在使用Appcelerator构建一个应用程序,需要显示一个数学表达式,例如2^3,但3应该是在2的上方小一些的数字。是否有一种方法在JavaScript中表达数学表达式? 注:
  • 这段文本是静态文本。
  • 使用的语言是JavaScript。
  • 在Appcelerator框架的iPhone/Android模拟器上运行。
  • Appcelerator会转义HTML。
提前感谢您的任何帮助。

我想最终结果是它被显示出来,所以可能有一些特殊的HTML强力代码或其他东西。 - woot586
括号怎么样?它应该有多完整? - pimvdb
1
你尝试过使用Unicode字符吗?(^3代表00B3) - Pat
这相对简单,我只有几个标签,例如 cm^2。刚试着在文本周围添加一些 HTML 标记,但似乎 Appcelerator 转义了 HTML 标记。 - woot586
客户端应该在浏览器中表示吗?如果是这样,您可以使用简单的标记<i>x</i><sup>2</sup>。 - Fedor Skrynnikov
很遗憾,MathML没有更广泛的跨浏览器支持,否则我会推荐它。但事实上,它并未得到任何移动浏览器的支持,这使得它对您来说不可行。 - Spudley
5个回答

2
如果你只关心显示,可以使用HTML标签<sub></sub><sup></sup>,使它们之间的文本成为下标和上标。
一个很大的优点是,原生的JavaScript字符串具有将字符串包装在这些标签中的功能(虽然实现起来并不难):
var a = "2",
    b = "3",
    formattedEquation = a+b.sup(),
    r = Math.pow(a,b),
    htmlEquation = formattedEquation + ' = ' + r;
// let's say you use jquery for the simplicity of the example
$(myContainer).html(htmlEquation);

2

“2”+“3”.sup() 应该能给你正确的格式。

你也可以使用 .sub() 来进行下标。


1

如果您需要更加精细的数学排版,您可以考虑使用MathJax JavaScript 显示引擎。它似乎与 WebKit 完全兼容,并且在我的 iOS 设备上也能够正确地排版。


0

在HTML中有<sup><sub>标签, 试试这个:

<html>x<sup>4</sup>+y<sup>1245687</sup></html>

如果这还不够,可以看看MathML

这在HTML中有效,但我认为OP在Appcelerator中转义HTML标签时遇到了问题。 - Perception
我的理解是,你可以使用Appcelerator构建Web应用程序,并且可以使用额外的JavaScript API来访问手机的本地功能。但是,在Appcelerator中并不需要编写HTML页面,对吗? - Tim Büthe
这也是我的理解。我指的是原帖问题中的评论。我认为他需要包含更多的源代码。 - Perception
对于像JQueryMobile这样的东西,但是使用Appcelerator,您可以用JavaScript编写它,然后将其编译并生成本地iOS和Android代码。 - woot586

0

一些好的想法可以在像JQueryMobile这样的平台上运行,但不幸的是,Appcelerator会转义所有的HTML(除非你只为Android编码)。

显示数学表达式的方法是通过在字符串中定义Unicode字符,正如Pat在评论中建议的那样。

例如:

2\u00B3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接