22.368511 হিসাবে আমার ডাবল মান রয়েছে আমি এটি 2 টি দশমিক স্থানে নিয়ে যেতে চাই। অর্থাৎ এটি 22.37 ফিরে আসবে
আমি এটা কিভাবে করবো?
22.368511 হিসাবে আমার ডাবল মান রয়েছে আমি এটি 2 টি দশমিক স্থানে নিয়ে যেতে চাই। অর্থাৎ এটি 22.37 ফিরে আসবে
আমি এটা কিভাবে করবো?
উত্তর:
বেশিরভাগ ভাষায় যেমন ফর্ম্যাটটি হয়
%.2f
আপনি এখানে আরও উদাহরণ দেখতে পারেন
সম্পাদনা : আপনি যদি 25.00 এর ক্ষেত্রে পয়েন্ট প্রদর্শন সম্পর্কে উদ্বিগ্ন হন তবে আমি এটিও পেয়েছি
{
NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setPositiveFormat:@"0.##"];
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.342]]);
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.3]]);
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.0]]);
}
2010-08-22 15:04:10.614 a.out[6954:903] 25.34
2010-08-22 15:04:10.616 a.out[6954:903] 25.3
2010-08-22 15:04:10.617 a.out[6954:903] 25
setPositiveFormat:
, কারণ setFormat:
পদ্ধতিটি বিদ্যমান ছিল না (কেবল ম্যাকের জন্য সংজ্ঞায়িত), তবে এখনও - দুর্দান্ত উত্তর, আমাকে পরীক্ষার কয়েক ঘন্টা বাঁচিয়েছে, তাই +1 এবং আপনাকে ধন্যবাদ :)
আপনি নীচের কোডটি দুটি দশমিক স্থানে ফর্ম্যাট করতে ব্যবহার করতে পারেন
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundUp];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:22.368511]];
NSLog(@"Result...%@",numberString);//Result 22.37
সুইফট 4:
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 2
formatter.roundingMode = .up
let str = String(describing: formatter.string(from: 12.2345)!)
print(str)
value = (round(value*100)) / 100.0;
[label setText:@"Value: %.2f", myNumber];
আপনি এনএসডিসিমাল রাউন্ড ফাংশনটি ব্যবহার করতে পারেন
আপনার ডাবল থেকে দশমিকগুলি সরাতে এই আউটপুটটি একবার দেখুন
ওবজ সি
double hellodouble = 10.025;
NSLog(@"Your value with 2 decimals: %.2f", hellodouble);
NSLog(@"Your value with no decimals: %.0f", hellodouble);
আউটপুটটি হবে:
10.02
10
সুইফট 2.1 এবং এক্সকোড 7.2.1
let hellodouble:Double = 3.14159265358979
print(String(format:"Your value with 2 decimals: %.2f", hellodouble))
print(String(format:"Your value with no decimals: %.0f", hellodouble))
আউটপুটটি হবে:
3.14
3
আমি জেসনের উত্তরটি দিয়ে যাচ্ছিলাম তবে আমি লক্ষ্য করেছি যে আমার Xcode এর সংস্করণে (৪.৩.৩) আমি এটি করতে পারিনি। তাই কিছুটা গবেষণার পরে আমি দেখতে পেলাম যে তারা সম্প্রতি ক্লাসের পদ্ধতিগুলি পরিবর্তন করেছে এবং সমস্ত পুরানো সরিয়ে দিয়েছে। সুতরাং আমি এখানে এটি করতে হয়েছিল কিভাবে:
NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setMaximumFractionDigits:2];
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.342]]);
NSNumber * aNumber = [এনএস নাম্বার সংখ্যাবিহীন ডাবল: সংখ্যা] ব্যবহার করুন; NSNumber এর পরিবর্তে * aNumber = [এনএস নাম্বার সংখ্যাবিহীন ফ্লোট: সংখ্যা];
+(NSString *)roundToNearestValue:(double)number
{
NSNumber *aNumber = [NSNumber numberWithDouble:number];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setUsesGroupingSeparator:NO];
[numberFormatter setMaximumFractionDigits:2];
[numberFormatter setMinimumFractionDigits:0];
NSString *string = [numberFormatter stringFromNumber:aNumber];
return string;
}
সুইফটের জন্য একটি সহজ সমাধান রয়েছে যদি আপনি হয় ফাউন্ডেশন আমদানি করতে না পারেন, বৃত্তাকার () ব্যবহার করতে পারেন এবং / অথবা কোনও স্ট্রিং না চান (সাধারণত আপনি যখন খেলার মাঠে থাকবেন তখন):
var number = 31.726354765
var intNumber = Int(number * 1000.0)
var roundedNumber = Double(intNumber) / 1000.0
ফলাফল: 31.726
আমি উম্বের্তো রায়মন্ডি প্রসারিত প্রকারের দ্বিগুণ পোস্টের সমাধানটি ব্যবহার করি :
extension Double {
func roundTo(places:Int) -> Double {
let divisor = pow(10.0, Double(places))
return (self * divisor).rounded() / divisor
}
}
আপনি এটি করতে পারেন:
NSNumberFormatter* f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
[f setFormat:@0.00"];
// test
NSNumber* a = @12;
NSString* s = [f stringFromNumber:a];
NSLog(@"%@", s);