这个问题经常被问到。我的情况显然与其他所有情况不同,因为我无法从现有答案中找到解决方案。
我有这个代码:
<form (ngSubmit)="getExceptions(f)" #f="ngForm">
<div class="row">
<div class="form-group col-xs-3 col-sm-3">
<label class="col-form-label" for="aantal">Aantal meldingen per pagina?</label>
<select name="selectedQuantity" id="aantal" class="form-control" ngModel>
<option *ngFor="let option of options" [value]="option">{{option}}</option>
</select>
</div>
.
.
.
</form>
Run Code Online (Sandbox Code Playgroud)
选项定义为:
private options: string[] = ['10', '20', '50'];
Run Code Online (Sandbox Code Playgroud)
我想将“10”显示为默认选定值,但无论我做什么下拉菜单都会为选定值显示空白。单击下拉列表会显示值 10、20 和 30。因此它已正确填充。
我尝试了什么:
<option *ngFor="let option of options" [value]="option" [selected]="option==10">{{option}}
</option>
Run Code Online (Sandbox Code Playgroud)
和
<option [value]="10" [selected]="true == true">10</option>
<option [value]="20">20</option>
<option [value]="50">50</option>
Run Code Online (Sandbox Code Playgroud)
和
<option [value]="10" selected>10</option>
<option [value]="20">20</option>
<option [value]="50">50</option>
Run Code Online (Sandbox Code Playgroud)
它与绑定有关,因为如果我从 select 标记中删除“ngModel”,它会显示我想用作默认值 (10) 的值。有点。我无法再读取选定的值,但显示的是默认值。
我从来没有用 plunkr …
我使用Math.round(...)进行以下两个计算:
double x = 0.57145732;
x = x * 100;
x = Math.round(x * 10);
x = x / 10;
Run Code Online (Sandbox Code Playgroud)
如果我现在打印x的值,它将显示:57.1.
double x = 0.57145732;
x = (Math.round((x * 100) * 10)) / 10;
// x = (Math.round(x * 1000)) / 10; //Also gives me 57.0.
Run Code Online (Sandbox Code Playgroud)
如果我现在打印x的值,它将显示:57.0.
为什么结果会出现这种差异?