| 热门文章 |
 |
|
| 编辑推荐 |
 |
|
|
|
|
|
作者:longnetpro
来源:ChinaUnix.net 点击: 更新:2006-12-19
|
|
= false){ $text = parent::getText(); if ($isupper && isset($this->resource['trans_upper'])){ $text = strtr($text, $this->resource['trans_upper']); } return $text; } } ?>
文件:test.php
代码:
<?php require_once ('textnumber.class.php');
$lang = array('en_us', 'zh_cn'); $number = '-00123020456006010335678901201.00086789';
echo "$number<br><br>\n"; for($i = 0; $i < count($lang); $i++){ $textnumber =& TextNumberFactory::createTextNumber($lang[$i]); $textnumber->setNumber($number); $sNormal = $textnumber->getText(false); $sUpper = $textnumber->getText(true); echo "$sNormal<br><br>\n"; echo "$sUpper<br><br>\n"; } ?>
输出结果:
代码:
-00123020456006010335678901201.00086789
minus one hundred and twenty-three trillion twenty billion four hundred and fifty-six million six thousand ten trillion three hundred and thirty-five billion six hundred and seventy-eight million nine hundred and one thousand two hundred and one point zero zero zero eight six seven eight nine
MINUS ONE HUNDRED AND TWENTY-THREE TRILLION TWENTY BILLION FOUR HUNDRED AND FIFTY-SIX MILLION SIX THOUSAND TEN TRILLION THREE HUNDRED AND THIRTY-FIVE BILLION SIX HUNDRED AND SEVENTY-EIGHT MILLION NINE HUNDRED AND ONE THOUSAND TWO HUNDRED AND ONE POINT ZERO ZERO ZERO EIGHT SIX SEVEN EIGHT NINE
负一百二十三兆零二百零四亿五千六百万零六千零一十兆零三千三百五十六亿七千八百九十万零一千二百零一点零零零八六七八九
负壹佰贰拾叁兆零贰佰零肆亿伍仟陆佰万零陆仟零壹拾兆零叁仟叁佰伍拾陆亿柒仟捌佰玖拾万零壹仟贰佰零壹点零零零捌陆柒捌玖
由于本人比较懒,所以都没有写注释,不过相信懂OO的人都看得懂。用法极简单,就按test.php中的写法照套就可以了,就是一二三的三步曲,第一步从类工厂中建立一个对象,第二步对该对象赋一个数字字符串待转换,第三步就是取得转换后的文字并输出了。在textnumber.class.php中,有一个基类,一个类工厂,两个派生类(英语与汉语)。至于说它们怎么协调工作,大家自己看看吧。
上一页 [1] [2] [3]
|
|
|