728x90
반응형
padLeft는 Dart에서 문자열을 원하는 길이만큼 왼쪽으로 패딩(채우기)하여 새 문자열을 반환하는 메서드입니다.
주로 문자열의 길이를 특정 값으로 맞추거나, 좌측 정렬된 형태를 유지하고 싶을 때 사용됩니다.
메서드 시그니처
String padLeft(int width, [String padding = ' ']);
- width: 결과 문자열의 최소 길이입니다. 원래 문자열의 길이가 width보다 작다면, 왼쪽에 padding 문자를 추가합니다.
- padding: 선택적 매개변수로, 문자열 왼쪽을 채울 문자입니다. 기본값은 공백(' ')입니다.
주요 특징
- 원래 문자열의 길이가 width와 같거나 크다면, 원래 문자열 그대로 반환됩니다.
- 문자열이 지정된 길이에 도달할 때까지 padding이 반복적으로 추가됩니다.
사용 예제
1. 기본 사용법
공백으로 왼쪽을 채우는 기본 예제입니다.
void main() {
String text = '42';
String paddedText = text.padLeft(5);
print(paddedText); // 출력: ' 42' (공백 3칸)
}
2. 사용자 정의 패딩 문자
공백 대신 다른 문자를 사용하여 패딩할 수도 있습니다.
void main() {
String text = '42';
String paddedText = text.padLeft(5, '0');
print(paddedText); // 출력: '00042'
}
3. 원래 문자열이 충분히 긴 경우
원래 문자열의 길이가 width보다 크거나 같으면 패딩 없이 원래 문자열이 반환됩니다.
void main() {
String text = 'hello';
String paddedText = text.padLeft(3, '*');
print(paddedText); // 출력: 'hello' (변경 없음)
}
4. 복합 예제: 숫자 정렬
padLeft를 사용해 숫자를 정렬할 때 유용합니다.
void main() {
List<String> numbers = ['1', '12', '123'];
for (var number in numbers) {
print(number.padLeft(5, '0'));
}
// 출력:
// 00001
// 00012
// 00123
}
사용 시 주의점
- 패딩 문자 길이: padding은 반드시 한 글자여야 합니다. 두 글자 이상의 문자열을 전달하면 에러가 발생합니다.
void main() {
String text = '42';
// String paddedText = text.padLeft(5, '00'); // 에러 발생
}
- 음수 또는 0의 width: width가 0 이하일 경우, 원래 문자열이 그대로 반환됩니다.
void main() {
String text = '42';
print(text.padLeft(0)); // 출력: '42'
print(text.padLeft(-3)); // 출력: '42'
}
padLeft 메서드는 문자열의 좌측 정렬, 길이 조정, 또는 특정 형식의 출력이 필요할 때 유용한 기능을 제공합니다.
특히 숫자를 다룰 때 유용하며, 다양한 패딩 문자를 사용해 커스터마이징할 수도 있습니다.
Time 구현 예시
import 'package:calender_scheduler/Const/colors.dart';
import 'package:flutter/material.dart';
class _Time extends StatelessWidget {
final int startTime; //시작 시간
final int endTime; //종료시간
const _Time({required this.startTime, required this.endTime, Key? key})
: super(key: key);
@override
Widget build(BuildContext context) {
final textStyle = TextStyle(
fontWeight: FontWeight.w600,
color: PRIMARY_COLOR,
fontSize: 16,
);
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
//숫자가 두 자릿수가 안 되면 0으로 채워주기
Text('${startTime.toString().padLeft(2, '0')}: 00', style: textStyle),
Text('${endTime.toString().padLeft(2, '0')}: 00', style: textStyle),
],
);
}
}
Dart에서 문자열을 다루는 작업을 할 때 padLeft를 활용해 보세요! 🎯
구독!! 공감과 댓글,
광고 클릭은 저에게 큰 힘이 됩니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
728x90
반응형
'Dart > Study' 카테고리의 다른 글
Dart에서 List와 Map을 정렬하는 방법 (3) | 2024.10.15 |
---|---|
Dart에서 클래스 생성 시 일반 파라미터와 Named 파라미터 사용 방법: 초보자를 위한 완벽 가이드 (1) | 2024.09.15 |
Dart에서 Immutable vs Mutable 완벽 가이드 (2) | 2024.09.11 |
Dart의 Typedef: 쉽게 이해하는 사용 방법과 옵션 (1) | 2024.09.02 |
Dart의 .. 연산자: 카스케이드 연산자 사용법 완벽 가이드 (0) | 2024.08.26 |