NSString 文件
iOS开发代码:从文本文件中读取内容到字符串里
DecimalFormat使用心得
Java DecimalFormat的主要功能及使用方法
Double转成String 去除科学计数法显示方法
Android double保留两位小数:截取 和 四舍五入
保留2位小数,使用java.text.NumberFormat
double sourcePrice = 4940.20;// sourcePrice = 1514940.20
double reductionPrice = 0.1;
double price = sourcePrice - reductionPrice;
NumberFormat nf = NumberFormat.getNumberInstance(); // notice here
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(price));
注意上面结果的分隔符,千位分隔符,百万分隔符,……),使用时会直接显示出分隔符,如果想去掉,则使用 nf.setGroupingUsed(false);
它就是科学计数法表示的,e表示10
0.23E-4=0.23×10^(-4)=2.3×10^(-5)
Java中BigDecimal的8种舍入模式
Android画图之抗锯齿paint和Canvas两种方式实例
JAVA BigDecimal 小数点处理 方法较多
BigDecimal 的那些坑事儿
科学计数法
BigDecimal.setScale 处理java小数点
关于double转string出现科学计数法的问题
double d=15649600;
DecimalFormat df = new DecimalFormat("#");
System.out.println(df.format(d));
结果如下:15649600
BigDecimal 使用方法详解
android 绘图时抗锯齿方法两种 good
◆ 用Canvas绘制位的的情况。在用Canvas绘制位图时,一般地,我们使用drawBitmap函数家族,在这些函数中,都有一个Paint参数,要做到防止锯齿,我们就要使用到这个参数。如下:首先在你的构造函数中,需要创建一个Paint。 Paint mPaint = new Paint(); 然后,您需要设置两个参数: 1)mPaint.setAntiAlias(); 2)mPaint.setBitmapFilter(true)。第一个函数是用来防止边缘的锯齿,第二个函数是用来对位图进行滤波处理。最后,在画图的时候,调用drawBitmap函数,只需要将整个Paint传入即可。
类 MathContext
该对象是封装上下文设置的不可变对象,它描述数字运算符的某些规则,例如由 BigDecimal
类实现的规则。
基本独立设置为:
- precision :某个操作使用的数字个数;结果舍入到此精度
- roundingMode :一个
RoundingMode
对象,该对象指定舍入使用的算法。
注意!!! 小数点属于特殊字符,需要转译,正确代码如下: split(".") 改为 split("\\.")
什么叫有效数字?有效数据的位数与小数点的位置有无关系?举例说明
0.0230,前面的两个0不是有效数字,后面的230均为有效数字(后面的0也算)。
1.20 有3个有效数字。
1100.120 有7位有效数字。
区分Integer.getInteger和Integer.valueOf使用方法 用Integer.valueOf(String)
Integer.valueOf(String)的功能是获取给定的字符串所代表的整数。 good
虽然这两个方法的功能是不一样的,但是从方法的名称上并没有明显的区分开来,常常容易让人混淆。有很多bug就是因为想使用valueOf的功能但是错误的使用了getInteger方法而导致的。
BigDecimal 的那些坑事儿
NSString去除空格字符-包括两边字符trim()
NSString *cleanString = [dirtyString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
如何dispatch_data_t转换为NSData的? IT屋
How to convert dispatch_data_t to NSData? stackoverflow
图片转成NSDATA然后BASE64编码POST到服务器
这些方法可以帮助你轻易的将NSData对象转化为Base64,或者将Base64转化为NSData object。见以下的例子:
NSData* sampleData = [@"Some sample data" dataUsingEncoding:NSUTF8StringEncoding];
NSString * base64String = [sampleData base64EncodedStringWithOptions:0];
NSLog(@"Base64-encoded string is %@", base64String); // prints "U29tZSBzYW1wbGUgZGF0YQ=="
NSData* dataFromString = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
NSLog(@"String is %@",[NSString stringWithUTF8String:[dataFromString bytes]]); // prints "String is Some sample data"
+ (NSData*) dispatch_data_to_nsdata: (dispatch_data_t) data
{
// convert
const void *buffer = NULL;
size_t size = 0;
dispatch_data_t new_data_file = dispatch_data_create_map(data, &buffer, &size);
if(new_data_file)
{
return [[NSData alloc] initWithBytes:buffer length:size];
}
return nil;
}
+ (UIImage*) dispatch_data_to_image: (dispatch_data_t) data
{
NSData *nsdata = [self dispatch_data_to_nsdata:data];
if (nsdata != nil)
{
UIImage *image = [UIImage imageWithData:nsdata];
return image;
}
return nil;
}
+ (NSString *) dispatch_data_to_base64string: (dispatch_data_t) data
{
NSData *nsdata = [self dispatch_data_to_nsdata:data];
if (nsdata != nil)
{
return [nsdata base64EncodedStringWithOptions:0];
}
return @"";
}
判断NSString是否包含字符串或字符串开头结尾
-(BOOL) hasPrefix:(NSString *) astring;检查字符串是否以astring; //判断是否开头
-(BOOL) hasSuffix:(NSString *) astring;检查字符串是否以astring; //判断是否结尾
NSNumber 转 String
let value = ar_selector_value[i][0]; if (value is NSNumber) { new_used_value.insert((value as! NSNumber).stringValue); } else { new_used_value.insert(value as! String); }
Swift 如何读取文件内容并操作
NSString *str = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
// NSString *str = @"1 2 3 4";
NSArray *arr = [str componentsSeparatedByString:@" "];
var str = NSString(contentsOfFile: filePath, encoding: NSUTF8StringEncoding)
str = "1 2 3 4"
let arr = str.componentsSeparatedByString(" ")
关于string和byte之间的转换 .net
图片与二进制文件之间的相互转化函数 .net
IOS中获取各种文件的目录路径的方法
获取这些目录路径的方法:
1,获取家目录路径的函数:
NSString *homeDir = NSHomeDirectory();
2,获取Documents目录路径的方法:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
3,获取Caches目录路径的方法:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDir = [paths objectAtIndex:0];
4,获取tmp目录路径的方法:
NSString *tmpDir = NSTemporaryDirectory();
5,获取应用程序程序包中资源文件路径的方法:
例如获取程序包中一个图片资源(apple.png)路径的方法:
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”apple” ofType:@”png”];
UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
代码中的mainBundle类方法用于返回一个代表应用程序包的对象。
iOS 字节数组操作
+(NSData*) hexToBytes: (NSString*) hex_string
{
// NSMutableData* data = [NSMutableData data];
// int idx;
// for (idx = 0; idx+2 <= hex_string.length; idx+=2)
// {
// NSRange range = NSMakeRange(idx, 2);
// NSString* hexStr = [hex_string substringWithRange:range];
// NSScanner* scanner = [NSScanner scannerWithString:hexStr];
// unsigned int intValue;
// [scanner scanHexInt:&intValue];
// [data appendBytes:&intValue length:1];
// }
// return data;
//可以转成图片
// hex_string = @"ffd8 ffe0 0010 4a46 4946 0001 0100 00010001 0000 ffdb 0084 0001 0101 0101 01010101 0101 0101 0101 0101 0101 0101 01010101 0101 0101 0101 0101 0101 0101 01010101 0101 0101 0101 0101 0101 0101 01010101 0101 0101 0101 0101 0101 0101 01010101 0101 0101 0101 0101 0101 0101 01010101 0101 0101 0101 0101 0101 0101 01010101 0101 0101 0101 0101 0101 0101 01010101 0101 0101 0101 0101 ffc0 0011 08001e00 1e03 0111 0002 1101 0311 01ff c401a200 0001 0501 0101 0101 0100 0000 00000000 0001 0203 0405 0607 0809 0a0b 10000201 0303 0204 0305 0504 0400 0001 7d010203 0004 1105 1221 3141 0613 5161 07227114 3281 91a1 0823 42b1 c115 52d1 f0243362 7282 090a 1617 1819 1a25 2627 28292a34 3536 3738 393a 4344 4546 4748 494a5354 5556 5758 595a 6364 6566 6768 696a7374 7576 7778 797a 8384 8586 8788 898a9293 9495 9697 9899 9aa2 a3a4 a5a6 a7a8a9aa b2b3 b4b5 b6b7 b8b9 bac2 c3c4 c5c6c7c8 c9ca d2d3 d4d5 d6d7 d8d9 dae1 e2e3e4e5 e6e7 e8e9 eaf1 f2f3 f4f5 f6f7 f8f9fa01 0003 0101 0101 0101 0101 0100 00000000 0001 0203 0405 0607 0809 0a0b 11000201 0204 0403 0407 0504 0400 0102 77000102 0311 0405 2131 0612 4151 0761 71132232 8108 1442 91a1 b1c1 0923 3352 f0156272 d10a 1624 34e1 25f1 1718 191a 26272829 2a35 3637 3839 3a43 4445 4647 48494a53 5455 5657 5859 5a63 6465 6667 68696a73 7475 7677 7879 7a82 8384 8586 8788898a 9293 9495 9697 9899 9aa2 a3a4 a5a6a7a8 a9aa b2b3 b4b5 b6b7 b8b9 bac2 c3c4c5c6 c7c8 c9ca d2d3 d4d5 d6d7 d8d9 dae2e3e4 e5e6 e7e8 e9ea f2f3 f4f5 f6f7 f8f9faff da00 0c03 0100 0211 0311 003f 00fefe28 028d eea3 6961 1996 e664 8d40 27e66033 c67b 91fe 7be6 803f 0abf e0a5 ff00f05f ff00 d8ab fe09 c763 a978 7bc4 de2a4f8a 5f1c 16dd bfb1 fe08 fc3d beb1 d47c4df6 b906 db49 3c5f a879 8fa7 782b 4b6721a5 9f55 73a9 4b00 67d3 f49b e7c2 900f9bbf e0e1 af8c 16bf 17ff 00e0 df2f dadbc5d0 c0b6 6de2 af0a fec9 1e24 3622 613fd88e b3fb 55fe ce7a ab59 f9c1 13ce 16c6e0c3 e694 4dfb 37ec 5dd8 001f d00f ed21fb40 7c38 fd97 7e0d 78eb e39f c5ad 66e740f8 7df0 f744 b8d7 7c49 aad9 e93a aebb756d 6506 d4ff 0046 d2b4 5b4b ed46 f2692578 e28e 382d d86f 9034 ad1c 4ad2 2807f9ba 7fc1 55ff 00e0 eaef 8fff 00b4 a5cf89be 137e c476 facf c01f 8457 0f75 a6dcfc4e be68 e3f8 c5e2 db13 be19 24d3 cc2f3d9f 806c 6e90 b145 d3e5 bbf1 06c6 563aad93 6eb7 500f e477 56d7 75af 126b 577af788 756d 4b5d d6f5 3bd7 bdd4 b57d 5ef6e751 d4b5 0bc9 e532 cf75 7b7d 7724 b7373713 48cc f2cd 348f 23b9 2ccc 49cd 007fa407 fc15 5f5b bad4 ff00 e0dc bfda 305c4acf 8f86 ff00 b1da 8dc4 e3e4 fda5 7f671c00 0fa6 dfc3 6f71 401f d9b7 8c74 0b7f1268 77da 4ddd bc37 76d7 96d3 5b5c 5adc431d c5bd c413 2149 619e 0955 a29a 2954ec92 2915 9244 2cac a471 401f c527 fc158ffe 0d9b f831 f1ef 51f1 3fc5 8fd9 8ac74df8 09f1 6af5 eef5 1bad 1b49 b068 fe16f8bb 506d f2b8 bff0 fd9a ff00 c52f 7b772fdf d4bc 3f10 b5de ed2d c68f 72ec 64001fc1 a7ed 45fb 187e d1ff 00b1 a78f 66f017c7 ff00 869a ef83 6fd2 e5e3 d2f5 b7b77bcf 0a78 8e08 e4c0 bcf0 ef89 2dd5 f4bd5206 5dae d1c5 38bb b60c 12f2 dade 5050007f 7cdf f055 0d36 e2cb fe0d cbfd a33ce465 1ff0 ae3f 63c6 c918 fbdf b4a7 ece2003f f7d6 71d7 ea39 a00f d6cf f88a 37fe084e 783f b72f fe6b 37ed 87ff 00d0 fb40181a c7fc 1cd9 ff00 0417 d661 68ae bf6de8e4 0c08 f9bf 664f db08 f5fa fecf bf91ea38 a00f 86ff 0068 9ff8 2c77 fc1b 79fb4a78 5356 f01f c59f da7f c2bf 107c 1bad46f1 df68 9e23 fd95 ff00 6b8b b877 30654bab 39a5 fd9f 52e7 4dd4 20c8 92d7 51d3e6b6 beb5 942c 905c 46e3 3401 f05f fc1617fe 0b0d ff00 048c f8f1 ff00 0486 fda53f64 bfd9 4bf6 a18f c79f 167c 59a5 fc01d1fe 1c78 063f 823f b48f 84c6 a561 f0ff00f6 85f8 35e2 fd5e 11e2 7f88 1f08 3c33e16b 1fec 9f04 f847 5ad4 b7eb 5e21 b392fbfb 3bec 566d 77aa 5dda 59dc 807f ffd9";
// hex_string = [hex_string stringByReplacingOccurrencesOfString:@" " withString:@""];
int j = 0;
hex_string = [hex_string lowercaseString];
if ([hex_string hasPrefix:@"0x"])
{
hex_string = [hex_string substringFromIndex:2];
if ([hex_string hasPrefix:@"ffd8"] && ![hex_string hasSuffix:@"ffd9"])
{
hex_string = [hex_string stringByAppendingString:@"ffd9"];
}
}
NSLog(@"hex_string length:%ld, content:%@,",[hex_string length],hex_string);
unsigned long length = [hex_string length] / 2 + 1;
Byte *bytes = (Byte*)malloc(length);
unsigned long hex_length = [hex_string length];
for(int i = 0;i < hex_length; i++)
// for(int i = 0;i < length; i++)
{
int int_ch; /// 两位16进制数转化后的10进制数
unichar hex_char1 = [hex_string characterAtIndex:i]; ////两位16进制数中的第一位(高位*16)
int int_ch1;
if(hex_char1 >= '0' && hex_char1 <='9')
int_ch1 = (hex_char1-48)*16; //// 0 的Ascll - 48
else if(hex_char1 >= 'A' && hex_char1 <='F')
int_ch1 = (hex_char1-55)*16; //// A 的Ascll - 65
else
int_ch1 = (hex_char1-87)*16; //// a 的Ascll - 97
i++;
if (i < hex_length)
{
unichar hex_char2 = [hex_string characterAtIndex:i]; ///两位16进制数中的第二位(低位)
int int_ch2;
if(hex_char2 >= '0' && hex_char2 <='9')
int_ch2 = (hex_char2-48); //// 0 的Ascll - 48
else if(hex_char1 >= 'A' && hex_char1 <='F')
int_ch2 = hex_char2-55; //// A 的Ascll - 65
else
int_ch2 = hex_char2-87; //// a 的Ascll - 97
int_ch = int_ch1 + int_ch2;
bytes[j] = int_ch; ///将转化后的数放入Byte数组里
}
else
{
break;
int_ch = int_ch1;
bytes[j] = int_ch; ///将转化后的数放入Byte数组里
}
j++;
}
NSData *newData = [[NSData alloc] initWithBytes:bytes length:length];
return newData;
}
+(NSString*) dataToString: (NSData*) data
{
NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
NSMutableString *mutable_string = [[NSMutableString alloc]init];
for (int i = 0; i<len; i++)
{
// NSLog(@"%x",byteData[i]);
[mutable_string appendFormat:@"%02x",byteData[i]];
}
return mutable_string;
}
Documents文件中保存的图片如何读取并显示?
NSString / NSData / char* 类型之间的转换
- //图片转字符串
- -(NSString *)UIImageToBase64Str:(UIImage *) image
- {
- NSData *data = UIImageJPEGRepresentation(image, 1.0f);
- NSString *encodedImageStr = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
- return encodedImageStr;
- }
- //字符串转图片
- -(UIImage *)Base64StrToUIImage:(NSString *)_encodedImageStr
- {
- NSData *_decodedImageData = [[NSData alloc] initWithBase64Encoding:_encodedImageStr];
- UIImage *_decodedImage = [UIImage imageWithData:_decodedImageData];
- return _decodedImage;
- }
iOS开发-- 字符串分割、拼接
//以字符串中的字符作为分割条件进行分割
NSArray * array2 = [ptr componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@", "]];
NSData与UIImage之间的转换
//NSData转换为UIImage
NSData *imageData = [NSData dataWithContentsOfFile: imagePath];
UIImage *image = [UIImage imageWithData: imageData];
//UIImage转换为NSData
NSData *imageData = UIImagePNGRepresentation(aimae);
iOS NSString 和 NSData 的相互转换
//NSString -> NSData
NSData *data = [@"520it.com" dataUsingEncoding:NSUTF8StringEncoding];
//NSData -> NSString
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
iOS NSDictionary转JSON再转字节流
//dict转jsonData
NSData
*jsonData = [
NSJSONSerialization
dataWithJSONObject:myDict options:0 error:0];
//jsonData转String
NSString
*jsonStr = [[
NSString
alloc] initWithData:jsonData encoding:
NSUTF8StringEncoding
];
NSString编码
[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
URL编解码
- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
分割
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
iOS:json格式字符串转字典,字典转json格式字符串
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; NSError *err; NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&err]; NSError *parseError = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError]; return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
iOS 中字典与json格式的相互转换 jsonkit
iOS NSString 和NSData 转换
NSString 转换成NSData 对象
NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];
NSData 转换成NSString对象
NSData * data;
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData 转换成char*
NSData *data;
char *test=[data bytes];
char* 转换成NSData对象
byte* tempData = malloc(sizeof(byte)*16);
NSData *content=[NSData dataWithBytes:tempData length:16];
UILabel设置多种字体、颜色
NSString 转换成NSData 对象
NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];
NSData 转换成NSString对象
NSData * data;
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData 转换成char*
NSData *data;
char *test=[data bytes];
char* 转换成NSData对象
byte* tempData = malloc(sizeof(byte)*16);
NSData *content=[NSData dataWithBytes:tempData length:16];
swift:
if (self.delegate.data != nil)
{
let datastr = NSString(data: self.delegate.data!, encoding: NSUTF8StringEncoding);
print("self.delegate.data\n\(datastr)");//xudq qdebug
}