Javascript数字格式化/单位转化
最近又写了一个小玩意。 这个东西其实就是将一个数的单位进行转换(百-->万;万-->亿;千-->十等)
转换的思路就是乘除10的X次方(其实用字符数组可以直接移动小数点的位置这种方式……)
格式化的思路就是将输入的数字按整数与小数两部分分开,分别处理。每凑过3位就加一个逗号(将整数或小数部分转化成字符数组处理)。
格式化这部分(就是够3位加一个逗号),其实系统有现成的方法:Number类的toLocaleString。就是这个方法和本地设置有关系。
<html>
<head>
<title>Javascript test</title>
</head>
<script type="text/javascript">
//点击"转换"时进行单位转换
function transformation() {
var selunit = selectUnit.options[selectUnit.selectedIndex].value;//获得单位
var resunit = resultUnit.options[resultUnit.selectedIndex].value;
var temp = amount.value;
temp = Number(temp.replace(/[^0-9.]/g, "")) * selunit / resunit;//进行单位转换
result.value = format(temp);
}
//用户输入时进行即时处理
function formatText(event) {
var targ;//触发事件的对象引用
if (!event) {
event = window.event;//获得当前事件(IE)
}
if (event.target) {//IE没有target
targ = evente.target;
} else if (event.srcElement) {//适用于IE
targ = event.srcElement;
}
var temp = targ.value;
temp = temp.replace(/[^0-9.]/g, "");//去除","等其他字符,只保留数字和小数点
targ.value = format(temp);
transformation();
}
//格式化控制
function format(number) {
number = number.toString();
if (number.indexOf(".") != -1) {//数值中有"."
var numberArr = number.split(".");//将数值的整数部分与小数部分分开
return formatInt(numberArr[0]) + "." + formatDouble(numberArr[1]);
} else {//数值中无"."
return formatInt(number);
}
}
//格式化数字(整数)
function formatInt(number) {
var len = Math.floor(number.length / 3);//计算需要几个","
var remainder = number.length % 3;//计算第一个","前面有几位
if (len < 1) {//长度不需要加","
return number;
}
var array = number.split("");//将数字
相关文档:
dp.SyntaxHighlighter
dp.SyntaxHighlighter,这东西yahoo都在用它,支持多种语言。
只需要将代码放到<textarea>标签内,它就可以自动根据class指定的语言来对textarea内容进行着色,还提供了行号、打印等功能。如:
Xml代码
<TEXTAREA class=java name=code><br/> // code here ......
对于1个单引号,则转义该单引号
对于1个反斜杠跟1个单引号,则不管它。
对于2个及以上的反斜杠加一个单引号,则分别对每个反斜杠和单引号都进行转义,即 使反斜杠数目保持不变, 并转义单引号。
/// <summary>
/// 对于单引号而言,若前面有偶数个反斜杠则异常,奇数个反斜杠则正常
/// < ......
在上面的示例中,我们定义了两个语法甘露,一个是Class()函数,一个是New()函数。使用Class()甘露,我们已经可以用非常优雅的格式定义一个类。例如前例中的:
var
Employee
=
Class(Person,
//
派生至Person类
{
......
JavaScript核心技术
http://book.jqcq.com/product/620915.html
本书通过许多基于Web的例子展示了:如何构建JavaScript逻辑和将它与现有的对象结构连接,如何构建自己的程序库以及如何利用其他JavaScript用户编写的程序库。
JavaScript 完全手册 JavaScript 完全手册
http://book.jqcq.com/product/320819.html
......
JavaScript中的Window窗口对象
他是JavaScript中最大的对象,它描述的是一个浏览器窗口。一般要引用它的属性和方法时,不需要用“window.xxx”这种形式,而直接使用“xxx”。一个框架页面也是一个窗口。
Window窗口对象有如下属性:
name 窗口的名称,由打开它的连接(<a target="..." ......