char* GetDoubleStr(double value) { char buf[32]={0};//长度可以自定义 sprintf(buf,"%.8f",value);//保留8位小数,不够补0 int index = 0; int len = strlen(buf); for(int i = len-1;i>0;i--) { if(buf[i] == '0') continue; else { if(buf[i] == '.') index = i; else inde
由于JAVA的基本类型会有默认值,例如当某个类中存在private int age;字段时,创建这个类时,age会有默认值0.当使用age属性时,它总会有值.因此在某些情况下,便无法实现age为null.并且在动态SQL的部分,如果使用age!=null进行判断,结果总会为true,因而会导致很多隐藏的问题.所以,在JAVA实体类中不要使用基本类型,基本类型包含byte.int.short.long.float.double.char.boolean.
import java.util.*; class test { public static void main(String[] args) { char a[] = {'b', 'a', 'c'}; String b = "111"; f(a,b); System.out.println(Arrays.toString(a)+" "+b); } public static void f(char[] a, String b) { a[1] = 'c'; b =
double型,printf()用%f输出,而scanf用%lf来接受输入. 格式 printf scanf %c int char * %d, %i int int * %o, %u, %x unsigned int unsigned int * 格式 printf scanf %ld, %li long int long int * %lo, %lu, %lx unsinged long int unsigned long int * %hd, %hi int short int * %
char is different in iOS and Android!跨平台开发时很容易忽略的非常坑爹的一个区别. 我的需求是实现一个算法,这个算法在iOS和Android下需要保持一致的结果,很自然的我用C++实现了一份跨平台(cross-platform)代码,在两个平台都可以用,但这份代码在iOS和Android下竟然出现了不同的结果,排查了很久后发现了这个不同: iOS下char is signed,Android下char is unsigned也就是说,在iOS下这两个定义是等同