数字转换

JS系列:js数据类型的转换

北慕城南 提交于 2019-12-09 23:45:03
数据类型的转换 【基本数据类型】 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined 【引用数据类型】 对象 object 普通对象 {} 数组对象 [](Array) 正则对象 (RegExp) 日期对象 (Date) 数学函数 (Math) … 函数 function 真实项目中根据需求,我们徐亚进行对数据类型转换(规则和规则之间是相互独立的,千万不要混着记) 把其他数据类型转换为number类型 1.发生的情况 - isNaN检测的时候:当检测的值不是数字类型,浏览器会自己调用Number方法把它先转化为数字,然后再检测是否为非有效数字。 例子 1 : isNaN ( '3' ) => false Number ( '3' ) - > 3 isNaN ( 3 ) - > false 是有效数字 例子2:isNaN ( '3px' ) => false Number ( '3px' ) - > NaN isNaN ( 3 ) - > true 非有效数字 基于parseInt/parseFloat/Number 去手动转换为数字类型 数学运算:+ - * / %,但是"+"不仅是数学运算,也可能是字符串拼接 '3' - 1 => 2 Number ( '3' ) - > 3 3 - 1 - > 2 '3px' - 1 =>

python浓缩(5)数字

大兔子大兔子 提交于 2019-12-09 14:15:13
详细介绍每一种数字类型,适用的各种运算符, 及用于处理数字的内建函数。 5.1 数字类型 数字提供了标量贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。 Python 支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。 如何创建数值对象并用其赋值 anInt = 1 如何更新数字对象 通过给数字对象(重新)赋值, 您可以“更新”一个数值对象。实际上你并没有更新该对象的原始数值。因为数值对象是不可改变对象。Python的对象模型与常规对象模型有些不同。更新实际上是生成了一个新的数值对象,并得到它的引用。 在Python 中, 变量更像一个指针指向装变量值的盒子。 对不可改变类型来说, 你无法改变盒子的内容, 但你可以将指针指向一个新盒子。每次将另外的数字赋给变量的时候,实际上创建了一个新的对象并把它赋给变量.(不仅仅是数字,对于所有的不可变类型,都是这么回事) 如何删除数字对象 你无法真正删除一个数值对象, 你仅仅是不再使用它而已。如果你实际上想删除一个数值对象的引用, 使用 del 语句(参见3.5.6 小节)。如果试图使用一个已经被删除的对象引用, 会引发NameError 异常。 del anInt del aLong, aFloat, aComplex 5.2 整型 Python 有几种整数类型。布尔类型是只有两个值的整型

js之运算符(算术运算符)

怎甘沉沦 提交于 2019-12-09 12:50:57
  Javascript中的运算符大多是由标点符号少数由关键字表示。可以根据其操作数的个数进行分类.大多数运算符是一个二元运算符,将两个表达式合成一个比较复杂的表达式。还有需要注意的一点是运算符的优先级,它控制着运算符的执行顺序,优先级高的运算符的执行总是优先于运算符低的运算符。进行以下大致的分类: 一、算术运算符   算术运算符包括一元算术运算符和二元算术运算符两种。   1、一元运算符     一元算术运算符包括一元加法(+)、一元减法(-)、递增(++)和递减(--)。只对一个表达式执行操作,并产生一个新值。   +/-:一元加减运算符     一元加法运算符把操作数转换为数字或者是NaN(用函数Number());     一元减法运算符它会根据需要把操作数转换为数字,然后改变运算结果的符号。      所以可以看出一元的加和一元减运算符主要用于基本的算术运算,也可以用于转换数据类型 <script> var a=25; var b='1.1'; var c=false; var d=1.1; var e=NaN; var f=undefined; a=+a; b=+b; c=+c; d=+d; e=+e; f=+f; a1=-a; b1=-b; c1=-c; d1=-d; e1=-e; f1=-f; console.log(a,b,c,d,e,f);//25 1.1 0

三、JavaScript数据类型

試著忘記壹切 提交于 2019-12-07 17:32:28
1. 数据类型简介 1.1 为什么需要数据类型   在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利 用存储空间,于是定义了不同的数据类型。 简单来说,数据类型就是数据的类别型号。比如姓名“张三”,年龄18,这些数据的类型是不一样的。 1.2 变量的数据类型   变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的 内存中。JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会 被自动确定。 var age = 10; // 这是一个数字型 var areYouOk = '是的'; // 这是一个字符串 在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定 了数据类型。 JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型: var x = 6; // x 为数字 var x = "Bill"; // x 为字符串 1.3 数据类型的分类 JS 把数据类型分为两类:  简单数据类型 (Number,String,Boolean,Undefined,Null)  复杂数据类型 (object) 2.简单数据类型 2.1 简单数据类型(基本数据类型)

MySql 隐式转换

女生的网名这么多〃 提交于 2019-12-06 21:00:48
隐式转换主要发生在查询数字类型是出现。如把查询money=11写成age='11',tel="13323533013"写成tel=13323533013; 影响:   先贴个表结构:             把数字写成字符串:          影响不怎么大,数据库会自己识别。   把字符写成数字:        扫描全部索引。   总结:发生隐式转换时,如果是把数字类型的字段写成字符串影响不是特别大,但是如果把字符类型的字段写成数字会扫描全部索引。 转载于:https://www.cnblogs.com/fanhuo/p/9943205.html 来源: CSDN 作者: weixin_30340819 链接: https://blog.csdn.net/weixin_30340819/article/details/99458980

mysql 隐式转换问题

99封情书 提交于 2019-12-06 20:52:56
当mysql 用 varchar等字符串类型时,当出现 where 字段=数字时,左面字段如果出现 形如 数字+字符串(非数字) 的数据时,字符串会被截取掉。 反过来如果 这行数据 为 字符串(非数字) + 数字类型时 前面字符串则不会截取 如果用preparestatement 没有办法,setString 无解,除非用 字段='期望值' 形式,把单引号括起 来源: CSDN 作者: zhangfangrui 链接: https://blog.csdn.net/zhangfangrui/article/details/70815053

MySQL隐式转化整理

最后都变了- 提交于 2019-12-06 20:49:09
MySQL隐式转化整理 前几天在微博上看到一篇文章: 价值百万的 MySQL 的隐式类型转换 感觉写的很不错,再加上自己之前也对MySQL的隐式转化这边并不是很清楚,所以就顺势整理了一下。希望对大家有所帮助。 当我们对不同类型的值进行比较的时候,为了使得这些数值「可比较」(也可以称为类型的兼容性),MySQL会做一些隐式转化(Implicit type conversion)。比如下面的例子: mysql> SELECT 1+'1'; -> 2 mysql> SELECT CONCAT(2,' test'); -> '2 test' 很明显,上面的SQL语句的执行过程中就出现了隐式转化。并且从结果们可以判断出,第一条SQL中,将字符串的“1”转换为数字1,而在第二条的SQL中,将数字2转换为字符串“2”。 MySQL也提供了 CAST() 函数。我们可以使用它明确的把数值转换为字符串。当使用 CONCA() 函数的时候,也可能会出现隐式转化,因为它希望的参数为字符串形式,但是如果我们传递的不是字符串呢: mysql> SELECT 38.8, CAST(38.8 AS CHAR); -> 38.8, '38.8' mysql> SELECT 38.8, CONCAT(38.8); -> 38.8, '38.8' 隐式转化规则 官方文档中关于隐式转化的规则是如下描述的: If one

freemarker(二) 常用内置函数

我怕爱的太早我们不能终老 提交于 2019-12-06 15:21:38
freemarker 常用内置函数 1。在模板里边 变量引用使用: ${a}, 如果给<#macro aa tmp=a > 这不需要 $, 可以给模板注入一些自定义的函数 ,这个比较常用. ======================= 接下来 将网上一些 内置函数 记录下来 一、Sequence的内置函数 1.sequence?first 返回sequence的第一个值。 2.sequence?last 返回sequence的最后一个值。 3.sequence?reverse 将sequence的现有顺序反转,即倒序排序 4.sequence?size 返回sequence的大小 5.sequence?sort 将sequence中的对象转化为字符串后顺序排序 6.sequence?sort_by(value) 按sequence中对象的属性value进行排序 注意:Sequence不能为null 二、Hash的内置函数 1.hash?keys 返回hash里的所有key,返回结果为sequence 2.hash?values 返回hash里的所有value,返回结果为sequence 三、操作字符串函数 1.substring(start,end)从一个字符串中截取子串 start:截取子串开始的索引,start必须大于等于0,小于等于end end: 截取子串的长度

理解Javascript执行过程

ⅰ亾dé卋堺 提交于 2019-12-06 11:16:33
Javascript是一种解释型的动态语言。 在程序中,有编译型语言和解释型语言。那么什么是编译型语言,什么是解释型语言呢? 编译型语言: 它首先将源代码编译成机器语言,再由机器运行机器码(二进制)。 解释型语言: 相对于编译型语言而存在的,源代码不是直接编译为目标代码,而是将源代码翻译成中间代码,再由解释器对中间代码进行解释运行的。 比如javascript/python等都是解释型语言(但是javascript是先编译完成后,再进行解释的)。 主要的编译型语言有c++, 解释型语言有Javascript, 和半解释半编译(比如java)。 一. 了解代码是如何运行的? 我们都知道,代码是由CPU执行的,但是CPU不能直接执行我们的if...else这样的代码,它只能执行二进制指令,但是二进制对应我们的可读性来说并不友好,比如二进制 11100000 这样的,我们并不知道它代表的是什么含义, 因此科学家们就发明了汇编语言。 汇编语言 什么是汇编语言? 它解决了什么问题? 汇编语言是二进制指令的文本形式,和二进制指令是一一对应的关系,比如加法指令 00000011 写成汇编语言就是ADD。那么汇编语言的作用就是将ADD这样的还原成二进制,那么二进制就可以直接被CPU执行。它最主要的作用就是解决二进制指令的可读性问题。 但是汇编语言也有缺点: 1. 编写的代码非常难懂,不好维护。 2

将数字转换为金额显示,每三位逗号隔开,保留decimal位小数,并加前缀

点点圈 提交于 2019-12-05 23:47:00
/** * 将数字转换为金额显示,每三位逗号隔开,保留decimal位小数 * * @param money 数字 * @param decimal 小数位 * @return */ public static String moneyFormat(BigDecimal money, int decimal) { if (money == null) { return null; } else if (new BigDecimal(0).equals(money)) { return "0"; } else if (decimal < 1) { decimal = 2; } StringBuilder pattern = new StringBuilder("#,###."); for (int i = 0; i < decimal; i++) { pattern.append('0'); } DecimalFormat df = new DecimalFormat(pattern.toString()); String format = df.format(money); return format; } /** * 将数字转换为金额显示,每三位逗号隔开,保留decimal位小数,并加前缀 * * @param money 数字 * @param decimal 小数位 *