Tiplarni o‘girish
Tiplarni o‘girish (type casting) nima?
Tiplarni o‘girish (type casting) (yoki tiplarni konvertatsiya qilish) — bu qiymatni bir ma’lumot tipidan boshqasiga o‘zgartirish jarayoni.
Bu qiymatdan hisob-kitobda foydalanmoqchi bo‘lganingizda, lekin qiymat boshqa tipda, masalan, matnli string sifatida saqlangan bo‘lsa foydali.
Masalan, agar bizda "5" stringi va 10 soni bo‘lsa, ularni to‘g‘ridan-to‘g‘ri qo‘sha olmaymiz. Avval stringni songa o‘girishimiz kerak:
a = "5"
b = 10
c = int(a) + b
print(c)
const a = "5";
const b = 10;
const c = parseInt(a) + b;
console.log(c);
String a = "5";
int b = 10;
int c = Integer.parseInt(a) + b;
System.out.println(c);
string a = "5";
int b = 10;
int c = stoi(a) + b;
cout << c;
O‘zingiz sinab ko‘ring »
Oshkormas (implicit) va oshkor (explicit) o‘girish
Tiplarni o‘girishning ikki turi bor:
- Oshkormas o‘girish (implicit casting) (tipni kengaytirish — type promotion deb ham ataladi) — dasturlash tili tomonidan avtomatik bajariladi.
- Oshkor o‘girish (explicit casting) — dasturchi tipni qo‘lda o‘girganda.
Masalan, ko‘plab tillarda integer kerak bo‘lganda avtomatik ravishda floatga kengaytirilishi mumkin:
x = 5 # int
y = 2.0 # float
z = x + y # int automatically becomes float
print(z)
let x = 5; // number
let y = 2.0; // number
let z = x + y; // no problem, result is a number
console.log(z);
int x = 5;
double y = 2.0;
double z = x + y; // int promoted to double
System.out.println(z);
int x = 5;
double y = 2.0;
double z = x + y; // int promoted to double
cout << z;
Oshkor o‘girish — bu tipni o‘zingiz o‘girganingizda:
Turli tillar buni turlicha bajaradi:
- Python va JavaScript tillarida
float()yokiNumber()kabi funksiyalardan foydalaniladi. - Java va C++ tillarida ko‘pincha qiymat oldidan qavs ichida tip yoziladi, masalan:
(double) x.
x = 5
y = float(x) # explicit casting with function
print(y)
let x = 5;
let y = Number(x); // explicit casting with function
console.log(y);
int x = 5;
double y = (double) x; // explicit casting with (type)
System.out.println(y);
int x = 5;
double y = (double) x; // explicit casting with (type)
cout << y;
Eslatma: Tiplarni o‘girish qoidalari dasturlash tillarida farq qilishi mumkin. Tiplar o‘rtasida o‘girishda doimo ehtiyot bo‘ling, chunki ba’zi o‘girishlarda ma’lumot yo‘qolishi mumkin (masalan, 3.9 kabi floatni integerga o‘girganda u 3 ga aylanadi).
Hayotiy misol
Tiplarni o‘girish ko‘pincha hisob-kitoblarda kerak bo‘ladi. Masalan, ikkita butun sonni bo‘lganda, butun son o‘rniga o‘nli kasr natija olishni xohlashingiz mumkin.
Quyida o‘yinda foydalanuvchi to‘plagan ballning maksimal ballga nisbatan foizini hisoblaydigan dastur keltirilgan. Aniq natija olish uchun qiymatni o‘nli kasr tipiga o‘giramiz:
max_score = 500
user_score = 423
# Convert user_score to float to get a decimal result
percentage = float(user_score) / max_score * 100.0
print("User's percentage is", round(percentage, 2))
const maxScore = 500;
const userScore = 423;
// Convert userScore to number (it already is, but ensures float division)
const percentage = Number(userScore) / maxScore * 100.0;
console.log("User's percentage is " + percentage.toFixed(2));
int maxScore = 500;
int userScore = 423;
// Cast to double to make sure the division is accurate
double percentage = (double) userScore / maxScore * 100.0;
System.out.printf("User's percentage is %.2f", percentage);
int maxScore = 500;
int userScore = 423;
// Cast to float to make sure the division is accurate
float percentage = (float) userScore / maxScore * 100.0;
printf("User's percentage is %.2f", percentage);
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
