2012年12月18日

java處理小數點

整理網路上找到的相關資訊



double x = 13.52645 ;
double y = 49.99999 ;
無條件捨去到小數點以下1位   (int)(Math.floor(x*10))/10.0 );
無條件捨去到小數點以下2位   (int)(Math.floor(y*100))/100.0 );
無條件捨去到小數點以下3位   (int)(Math.floor(y*1000))/1000.0 );

四捨五入到小數點以下1位   (int)(Math.round(x*10.0))/10.0 );
四捨五入到小數點以下2位   (int)(Math.round(x*100.0))/100.0);
四捨五入到小數點以下3位   (int)(Math.round(x*1000.0))/1000.0 );



Math.round()方法取小數位數:
比如說3.14159要精確到.001位,則先3.14159/.001,然後再Math.round(3.14159/.001),最後在把結果乘以需要精確的位數Math.round(3.14159/.001)*.001

trace(Math.round(3.14159/.001)*.001); //輸出3.142
trace(Math.round(3.14159/.01)*.01); //輸出3.14

如果不想四捨五入,那直接改round()方法為floor()或者ceil()方法即可

toFixed()方法取小數位數:
直接指定toFixed()中的參數即可,比如要留兩位小數,則toFixed(2)

var temp:Number=3.1415926
trace(temp.toFixed(1)); //輸出3.1
temp=18.888;
trace(temp.toFixed(2)); //輸出18.89

Andorid WebView 開啟新瀏覽器問題

在 WebView 中,用戶無論點選了什麼連結,都會開啟新的瀏覽器,
如果你想要在自己的 WebView 中跳轉頁面,就必須建立一個 WebViewClient

假設使用的WebView名稱為myWeb
在oncreate時加入下面的程式碼
myWeb.setWebViewClient(new WebViewClientImpl());


如此在webview上點選連結時,就不會開啟新的瀏覽器了


可參考:WebView 與 WebViewClient


在SDK .90 beta版後,需加入權限才可使用webview
在manifest下加入

<uses-permission android:name="android.permission.INTERNET" />

2012年12月11日

在android layout加入外框

一般網路search到的資訊都是教人使用table layout
但是我們也可以使用shape的方式
在指定的元件下加入外框


首先先在drawable的資料夾下建立myborder的xml檔
程式碼如下

myborder.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
<stroke android:width="1dp" android:color="#808080"/>
<padding android:left="1dp" android:top="1dp" android:right="1dp" android:bottom="1dp" />
</shape>

然後在你所要加入外框的元件
backgroound設定為myborder外框效果即可顯示
android:background="@drawable/myborder"