Actionscript 3 Flash Builder 4.6 | mx:DataGrid |小数到小数…或小数到小数格式
我的datagrid有一个显示分数的深度维度列(例如使用的一个维度是24 3/8)。我可以选择文本(分数或小数),但基本上我需要能够从24 3/8到24.375来回转换 为什么需要十进制格式: 我有用于过滤深度维度列的复选框,因此我需要该逻辑的十进制形式(例如,复选框用于查看20到26之间的过滤深度维度) 为什么需要分数格式:我需要分数格式,因为深度维度数据将在应用程序的另一部分中作为字符串引用。在dataGrid中使用此格式时,筛选器不起作用,因为它无法将24 3/8识别为数字/int 所以基本上我在寻找一种在两种格式之间转换的方法,24 3/8到24.375和24.375到24 3/8 再次,我为这一混乱道歉——如果需要,我可以重新编辑和/或添加更多细节 提前谢谢 --教育部 为什么需要分数格式:我需要分数格式 因为深度标注数据将在中作为字符串引用 应用程序的另一部分 你需要分数格式的理由似乎很奇怪。您是否了解可以通过强制转换在Actionscript 3 Flash Builder 4.6 | mx:DataGrid |小数到小数…或小数到小数格式,actionscript-3,apache-flex,datagrid,flash-builder,fractions,Actionscript 3,Apache Flex,Datagrid,Flash Builder,Fractions,我的datagrid有一个显示分数的深度维度列(例如使用的一个维度是24 3/8)。我可以选择文本(分数或小数),但基本上我需要能够从24 3/8到24.375来回转换 为什么需要十进制格式: 我有用于过滤深度维度列的复选框,因此我需要该逻辑的十进制形式(例如,复选框用于查看20到26之间的过滤深度维度) 为什么需要分数格式:我需要分数格式,因为深度维度数据将在应用程序的另一部分中作为字符串引用。在dataGrid中使用此格式时,筛选器不起作用,因为它无法将24 3/8识别为数字/int 所以基
字符串
中使用数字
数据类型
var decimalNum:Number = 3.14;
//concatenating a Number with a String automatically casts it
var autoCastString:String = "I want to eat some " + decimalNum;
trace(autoCastString);
// cast as String type
var decimalString:String = String(decimalNum);
trace("Mmmm! I like", decimalString);
输出:
I want to eat some 3.14
Mmmm! I like 3.14
但也许你还有其他原因。以下代码来自此链接:。我还没有测试过
package com.lookmum.util
{
public class Fraction
{
private static var it :Number = 0;
public static var iterationLimit:Number = 10000;
public static var accuracy :Number = 0.00001;
public function Fraction()
{
}
private static function resetIt():void
{
it = 0;
}
private static function addIt():Boolean
{
it++;
if (it == iterationLimit)
{
trace('error : too many iterations');
return true;
}
else
{
return false;
}
}
public function getFractionString(num:Number):String
{
var fracString:String;
var fracArray:Array = getFraction(num);
switch (fracArray.length)
{
case 1 :
fracString = num.toString();
break;
case 2 :
fracString = fracArray[0].toString() + '/' + fracArray[1].toString();
break;
case 3 :
fracString = fracArray[0].toString() + ' ' + fracArray[1].toString() + '/' + fracArray[2].toString();
break;
}
return fracString;
}
public function getFraction(num:Number):Array
{
var fracArray:Array = new Array();
var hasWhole:Boolean = false;
if (num >= 1)
{
hasWhole = true;
fracArray.push(Math.floor(num));
}
if (num - Math.floor(num) == 0)
{
return fracArray;
}
if (hasWhole)
{
num = num - Math.floor(num);
}
var a:Number = num - int(num);
var p:Number = 0;
var q:Number = a;
resetIt();
while (Math.abs(q - Math.round(q)) > accuracy)
{
addIt();
p++;
q = p / a;
}
fracArray.push(Math.round(q * num));
fracArray.push(Math.round(q));
return fracArray;
}
}
}
那没有任何意义,分数和小数在数学中是一样的。如果你不是在谈论数学,那么就说出来,然后编辑问题。很抱歉造成混淆-我已经更新了一点问题,这有帮助吗?这仍然需要翻译来表达任何意思。在简单的英语中,“datagrid有维度”是指无法格式化的组件的宽度和高度。另一方面,这个“datagrid有一个名为“dimensions”的字段,其中的文本显示十进制或分数”。重写整件事,让它意味着其他人可以理解。谢谢你!我一开始就告诉你!