Angular 표현식에서 문자열을 Int로 구문 분석하려면 어떻게해야합니까?
숫자 문자열 '5'
var num_str = '5';
어떻게 parseInt와 아래 답변을 동시에 수정할 수 있습니까?
{{num_str + 1}} // 6
{{num_str - 1}} // 4
parseInt는 Angular 표현식에서 사용할 수 없습니다.
{{parseInt(num_str) - 1}}
숫자 필터는 더하기와 빼기를 할 수 없습니다.
{{num_str - 1 | number}}
누군가가 유용한 제안이 있으면 대단히 감사하겠습니다
컨트롤러에서 :
$scope.num_str = parseInt(num_str, 10); // parseInt with radix
각도 필터를 선호합니다.
app.filter('num', function() {
return function(input) {
return parseInt(input, 10);
};
});
그런 다음 dom에서 이것을 사용할 수 있습니다.
{{'10'|num}}
여기에 바이올린이 있습니다.
이것이 도움이 되었기를 바랍니다!
당신은 시도 할 수 있습니다:
{{ 1 * num_str + 1 }}
또 다른 옵션은 다음과 같습니다.
$scope.parseInt = parseInt;
그런 다음 원하는대로 할 수 있습니다.
{{parseInt(num_str)-1}}
각도 표현식은에 액세스 할 수없고 window
에만 액세스 할 수 있기 때문 scope
입니다.
또한 숫자 필터를 사용하면 표현식을 괄호로 묶는 것이 작동합니다.
{{(num_str-1) | number}}
{{ num_str - 0 }}
... 저를 위해 작동합니다.
위의 어느 것도 나를 위해 일하지 않았습니다.
그러나 이것은 :
{{ (num1_str * 1) + (num2_str * 1) }}
javascript Number 메소드를 사용 하여 숫자로 구문 분석 할 수 있습니다.
var num=Number (num_str);
{{1 * num_str + 1}} 외에 다음과 같이 시도 할 수도 있습니다 (마이너스 먼저) :
{{ num_str - 0 + 1}}
그러나 num_str에 문자가 포함되어 있으면 매우 취약합니다. 따라서 @hassassin이 말한대로 필터를 작성하거나 데이터를 시작한 후 바로 전처리하는 것이 좋습니다.
나는 위에서 언급 한 해결책을 시도했지만 그들 중 누구도 나를 위해 일하지 않았습니다. JSON.parse를 사용했고 작동했습니다.
$http.get('/api/getAdPolling')
.success(function (data) {
console.log('success: ' + data.length);
if (JSON.stringify(data) != "not found") {
$scope.adPoll = JSON.parse(data);
}
})
.error(function (data) {
console.log('Error: ' + data);
});
별로 좋지는 않지만 재미있는 해킹 : + 대신
{{num_str -- 1 }}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app>
{{'1'--1}}
</div>
참고 URL : https://stackoverflow.com/questions/21398319/how-can-i-parse-string-to-int-in-an-angular-expression
'IT TIP' 카테고리의 다른 글
iOS의 모든 연락처 목록 가져 오기 (0) | 2020.10.27 |
---|---|
CSS / HTML로 마우스 오버시 이미지 변경 (0) | 2020.10.27 |
phpmyadmin에서 대용량 SQL 파일을 가져 오는 방법 (0) | 2020.10.27 |
LIKE를 사용한 Spring JPA @Query (0) | 2020.10.27 |
600851475143에 대한 "정수 숫자가 너무 큽니다"오류 메시지 (0) | 2020.10.27 |