2
的二次方程,我想显示一个格式如(4x2)的二次方程。我想在文本框中输入x后自动显示2作为上标。我想显示一个格式如(4x2)
的二次方程,我想显示一个格式如(4x2)的二次方程。我想在文本框中输入x后自动显示2作为上标。我想显示一个格式如(4x2)
Unicode提供上标数字。
\u2070
=⁰\u00B9
=¹\u00B2
=²\u00B3
=³\u2074
=⁴\u2075
=⁵\u2076
=⁶\u2077
=⁷\u2078
=⁸\u2079
=⁹所以,简单地更换一个2,其是应该与U + 00B2被上标。
4x² - 2x + 4
下面是一些示例代码:
private static const SUPER_DIGIT:Object = {
'0':0x2070, '1':0x00B9, '2':0x00B2, '3':0x00B3, '4':0x2074,
'5':0x2075, '6':0x2076, '7':0x2077, '8':0x2078, '9':0x2079,
'-':0x207B
};
// Converts all- characters to their superscript forms.
public static function toSuperscript(str:String):String {
var buffer:Array = new Array(str.length);
for (var i:int = 0; i < str.length; ++i) {
buffer[i] = SUPER_DIGIT[str.charAt(i)];
if (buffer[i] == null) buffer[i] = str.charCodeAt(i);
}
return String.fromCharCode.apply(null, buffer);
}
编辑:
如果你通过我的方法4x2
它会返回⁴x²
。您需要做的是 - 在文本字段的更新事件中 - 检测需要转换为上标并替换它们的子字符串。一个适用于你的快速规则是说“如果一个数字紧跟在一个代码等于或大于'A'(\ u0041)的字符之后,用它的上标equivillant替换它。”
我不知道如何链接你的代码与动态文本字段。你能否提一下这件事? – Penelope 2010-07-20 16:43:11
@Pen:我在答案的末尾添加了一个解释。 – Gunslinger47 2010-07-20 22:15:16