我想显示一个格式为(4x2)的二次方程

时间:2010-07-17 07:55:46

标签: flash actionscript-3 actionscript-2

我希望显示格式为(4x2)的二次方程。我想在文本框中输入x后自动显示2作为上标。

1 个答案:

答案 0 :(得分:4)

Unicode提供上标数字。

  • \u2070 =⁰
  • \u00B9
  • \u00B2
  • \u00B3
  • \u2074 =⁴
  • \u2075 =⁵
  • \u2076 =⁶
  • \u2077 =⁷
  • \u2078 =⁸
  • \u2079 =⁹

所以简单地用U + 00B2替换应该是上标的2。

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 0123456789- 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)的字符之后,请将其替换为上标等值。”