今天在开发的时候 遇到了一个问题,在获取数据的时候得到是个奇诡的结果,谷歌后的说明 AS3的Number与JAVA或C++的double类似,采用二进制分数而非十进制分数保存浮点部分,因此会导致不够精确。这是语言的设计思路所致。当然,从另一个思路看,它也是个BUG。 或许AS3引入double和float类型后会解决这个问题吧…… 10.799999999999999 10.8
package
{
	import flash.display.Sprite;

	public class NumberTest extends Sprite
	{
		public function NumberTest()
		{
			var $bLevel:int				=	24 ;
			var $volume:Number = ($bLevel)/10* int( $bLevel/10 + 1 ) * 15/10;

			$volume				=	5.00000000000004

			var rate:Number			=	Math.round( $volume * 10 )/10 ;
			trace( $volume ) ;
			trace( rate ) ;
//			trace( 0.1 + 0.1 +0.1 +0.1 +0.1 +0.1 +0.1 +0.1 +0.1 +0.1 ) ;

//			Math.round( ) ;

		}
	}
}

相关文章:

  • 2021-06-07
  • 2021-12-10
  • 2022-12-23
  • 2021-06-19
  • 2022-12-23
  • 2021-05-21
  • 2021-07-09
  • 2021-09-30
猜你喜欢
  • 2021-10-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-30
  • 2021-11-18
  • 2021-07-18
相关资源
相似解决方案