[PHP]把长数字转为短字??/a> [PHP]

来源:本网整理

哦,我只听说过转换成字符串的,字符型像楼上说的,会损失精度哦,要是转换成字符串的话,可以用C提供的库函数,比如:int i=11;char ch[3];itoa(i,ch,10);将整型转换成字符型,i 为要转换的整型数,ch为存放转换后的字符串,10表示为10进制数,包含头文件#include<stdlib.h>www.zgxue.com防采集请勿采集本网。

比较长的数字字符串转为短的字符字符串 scrolltotop.offset(100,120); scrolltotop.init();

[1].[代码] [PHP]代码 跳至[1]

/** * 将数字转为短网址代码 * * @param int $number 数字 * @return string 短网址代码 */function generate_code($number) { $out = ""; $codes = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; while ($number > 60) { $key = bcmod($number,'61'); $number = bcsub(bcdiv($number,'61'),'1'); $out = $codes{$key}.$out; } return $codes{$number}.$out;}/** * 将短网址代码转为数字 * * @param string $code 短网址代码 * @return int 数字 */function get_num($code){ $codes = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $num = 0; $i = strlen($code); for($j=0;$j<strlen($code);$j++){ $i--; $char = $code{$j}; $pos = strpos($codes,$char); $num = bcadd(bcmul(bcpow("61", $i),($pos + 1)),$num); } $num=bcsub($num,"1"); return $num;}/*****函数结束****/$id="1973337397412392446";echo $id."<br/>";$did=generate_code($id);echo generate_code($id)."<br/>";echo get_num($did); SyntaxHighlighter.autoloader( 'applescript/js/sh309/scripts/shBrushAppleScript.js?t=1451961936000', 'actionscript3 as3/js/sh309/scripts/shBrushAS3.js?t=1451961936000', 'bash shell/js/sh309/scripts/shBrushBash.js?t=1451961936000', 'coldfusion cf/js/sh309/scripts/shBrushColdFusion.js?t=1451961936000', 'cpp c/js/sh309/scripts/shBrushCpp.js?t=1451961936000', 'obj-c objc/js/sh309/scripts/shBrushObjC.js?t=1451961936000', 'c# c-sharp csharp/js/sh309/scripts/shBrushCSharp.js?t=1451961936000', 'css/js/sh309/scripts/shBrushCss.js?t=1451961936000', 'delphi pascal/js/sh309/scripts/shBrushDelphi.js?t=1451961936000', 'diff patch pas/js/sh309/scripts/shBrushDiff.js?t=1451961936000', 'erl erlang/js/sh309/scripts/shBrushErlang.js?t=1451961936000', 'groovy/js/sh309/scripts/shBrushGroovy.js?t=1451961936000', 'haxe hx/js/sh309/scripts/shBrushHaxe.js?t=1451961936000', 'java/js/sh309/scripts/shBrushJava.js?t=1451961936000', 'jfx javafx/js/sh309/scripts/shBrushJavaFX.js?t=1451961936000', 'js jscript javascript/js/sh309/scripts/shBrushJScript.js?t=1451961936000', 'perl pl/js/sh309/scripts/shBrushPerl.js?t=1451961936000', 'php/js/sh309/scripts/shBrushPhp.js?t=1451961936000', 'text plain/js/sh309/scripts/shBrushPlain.js?t=1451961936000', 'py python/js/sh309/scripts/shBrushPython.js?t=1451961936000', 'ruby rails ror rb/js/sh309/scripts/shBrushRuby.js?t=1451961936000', 'scala/js/sh309/scripts/shBrushScala.js?t=1451961936000', 'sql/js/sh309/scripts/shBrushSql.js?t=1451961936000', 'vb vbnet/js/sh309/scripts/shBrushVb.js?t=1451961936000', 'xml xhtml xslt html/js/sh309/scripts/shBrushXml.js?t=1451961936000' ); SyntaxHighlighter.all();

公元3世纪,古印度的一位科学家巴格达发明了阿拉伯数字。最古的计数目大概至多到3,为了要设想“4”这个数字,就必须把2和2加起来,5是2加2加1,3这个数字是2加1得来的,大概较晚才出现了用手写

/*友好日期时间param DateTime$datetime 日期时间param int$size 精确到位数throws InvalidArgumentExceptionreturn stringfunction friendly_date($datetime,$size=1){if(is_int($datetime)){datetime=new DateTime($datetime);}if!($datetime instanceof DateTime)){throw new InvalidArgumentException('invalid"DateTime"object');}now=new DateTime();interval=$now->diff($datetime);intervalData=arrayinterval->y,$interval->m,$interval->d,interval->h,$interval->i,$interval->s,intervalFormat=array('年','个月e68a84e8a2ad7a686964616f31333335333731','天','小时','分种','秒');foreach($intervalData as$index=>$value){if($value){intervalData[$index]=$value.$intervalFormat[$index];} else {unset($intervalData[$index]);unset($intervalFormat[$index]);}}return implode('',array_slice($intervalData,0,$size));}内容来自www.zgxue.com请勿采集。

免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
Copyright © 2017 www.zgxue.com All Rights Reserved