我遇到了这种非常讨厌的行为,我想知道我是做错了什么,或者这是故意的(如果是这样,为什么).
每当我在php(5.3)中有一个double类型的变量并且我想在一个double类型的字段中将它插入到数据库(MYSQL 5.0)中时,该值总是向下舍入到该点后面的6位数.我正在使用PDO.所以下面的代码:
$stmt = $pdo->prepare("UPDATE someTable SET someDouble = :somePHPDouble;");
$number = 0.11124379542256;
$stmt->bindValue(':somePHPDouble', $number);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)
结果在0.111244中插入db.但是当我将变量转换为绑定表达式中的字符串(!)时:
$stmt->bindValue(':somePHPDouble', (string)$number);
Run Code Online (Sandbox Code Playgroud)
它正确插入0.11124379542256.
这里发生了什么?我很无能为力.someDouble的MySQL数据类型实际上是双重的,当通过mysql控制台插入它时它才起作用.而且php中的变量实际上是双倍的,所以在我看来PDO内部出了问题.
在此先感谢-CodePoet.
我正试图通过使用标题的自定义字体为我的网站增添趣味.对我来说,最合适的方法是使用PHP和GD.我写了一个小脚本,它将根据$ _GET值输出动态文本,但有时图像太宽,这会移动其他所有内容.
如何根据文本的宽度调整图像的宽度?这是我到目前为止编写的代码:
<?php
// Settings
$sText = $_GET['t']; // Text of heading
$sFont = "font/AvantGarde-Book.ttf"; // Default font for headings
$sMain = $_GET['c'] ? $_GET['c'] : 0xF2AB27; // Get a font or default it
// Create the image
header("content-type: image/png"); // Set the content-type
$hImage = imagecreatetruecolor(200, 24);
ImageFill($hImage, 0, 0, IMG_COLOR_TRANSPARENT);
imagesavealpha($hImage, true);
imagealphablending($hImage, false);
imagettftext($hImage, 20, 0, 0, 24, $sMain, $sFont, $sText); // Draw the text
imagepng($hImage); // Generate the image
imagedestroy($hImage); // Destroy it from the …Run Code Online (Sandbox Code Playgroud) 我不知道为什么我会这样,我从这里下载了libs ,而我有一个名为'libboost_regex-vc90-mt-gd-1_39.lib的lib我没有一个名为'libboost_regex-vc100-mt-gd-1_39的lib .lib',将vc90重命名为vc100,但我不确定这是否是理想的解决方案?
#include "stdafx.h"
#include <regex>
#include <boost/array.hpp>
#include <boost/regex.hpp>
#define BOOST_ALL_NO_LIB
int _tmain(int argc, _TCHAR* argv[])
{
boost::array<int, 10> a;
boost::smatch s;
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我写了这个简单的linq-to-xml查询,似乎使用linq语法无法避免null异常.我用错了吗?什么应该是正确的(和简短的)Linq2Xml语法?
var userData =
queryUserResponseData.Elements("user")
.Single(u => u.Element("username").Value == userName);
Run Code Online (Sandbox Code Playgroud)
<data>
<user>
<username>User1</username>
<userid>123</userid>
</user>
<user>
<username>User2</username>
<userid>456</userid>
</user>
<user>
<userid>999</userid>
</user>
</data>
Run Code Online (Sandbox Code Playgroud) 如果我写
for i in range(5):
print i
Run Code Online (Sandbox Code Playgroud)
然后它给出0,1,2,3,4这
是否意味着Python同时为0分配0,1,2,3,4?
但是,如果我写道:
for i in range(5):
a=i+1
Run Code Online (Sandbox Code Playgroud)
然后我打电话给a,它只给5
但是如果我加''打印''它给出1,2,3,4,5
所以我的问题是这里的区别是什么?
是字符串还是列表还是其他什么?
或者也许任何人都可以帮助我理清:
for l in range(5):
#vs,fs,rs are all m*n matrixs,got initial values in,i.e vs[0],fs[0],rs[0] are known
#want use this foor loop to update them
vs[l+1]=vs[l]+fs[l]
fs[l+1]=((rs[l]-re[l])
rs[l+1]=rs[l]+vs[l]
#then this code gives vs,fs,rs
Run Code Online (Sandbox Code Playgroud)
如果我运行这种代码,那么只有当l = 5时我才能得到答案
我怎样才能让它们开始循环?
即l = 0得到vs [1],fs [1],rs [1]的值,
则l = 1得到vs [2],rs [2],fs [2] ......的值等等.
但是python给出了不同的fs数组,vs,rs,对应不同的l值
我怎么能把它们做成一件?
我很确定大多数人都知道扫雷游戏.我想编码(在C#中)我自己的扫雷游戏,并且正在寻找一些关于该游戏的优秀算法的输入.我一直在浏览网页很长一段时间,但找不到一个好的解决方案.任何人都可以帮助我吗?
我有一个问题,我在一个循环中构造一个字符串,该字符串输出到stout显示字符串和一个字符'y',上面有两个点作为最后一个字符.
那是什么?
我在这个函数中创建了字符串:
char get_string(char *buf, int ble, FILE *fp, char del)
{
int i = 0;
int c;
char result;
memset(buf, 0, BUFLEN);
do {
c = fgetc(fp);
if (c == del) {
buf[i] = '\0';
result = c;
break;
} else if(c == '\n') {
buf[i] = '\0';
result = '\n';
break;
} else {
buf[i] = c;
i++;
}
} while (c != EOF);
return result;
}
Run Code Online (Sandbox Code Playgroud)
然后在另一个函数中使用buf和结果如下:
char pair[BUFLEN];
char end;
do {
end = get_string(pair, …Run Code Online (Sandbox Code Playgroud) class A {
public void talk(){
this.sayIt();
}
private void sayIt(){
System.out.println("class A says...");
}
}
class B extends A {
private void sayIt(){
System.out.println("class B says...");
}
}
Run Code Online (Sandbox Code Playgroud)
测试类,主要方法:
B b = new B();
b.talk()
//output
class A says...
Run Code Online (Sandbox Code Playgroud)
从那以后我无法得到这个:
B类继承自A类,即公共成员,无法查看/继承私有函数.所以在B类中,我们可以调用talk(). //因为它是由父类继承的.
现在,在talk()方法中,调用sayIt(),因为sayIt()是在B类中定义的,
我希望在执行this.sayIt()时调用B.sayIt().
"这个"不是指B级吗?
请解释.
我在Javascript中的功能使用原型工作正常.该函数用于根据另一个字段的选择动态更改选择字段.
var sizes_286 = new Array();
sizes_286.push(new Array(536, 'Pequeno', 1661));
sizes_286.push(new Array(536, 'Médio', 1662));
sizes_286.push(new Array(536, 'Grande', 1663));
sizes_286.push(new Array(536, 'ExtGrande', 1664));
function varianteSelected_286(){
var_id = $('variante_286').getValue();
options = $('tamanho_286').options;
options.length = 1;
sizes_286.each(function(size){
if (size[0] == var_id){
options[options.length] = new Option(size[1], size[2]);
}
});
}
document.observe('dom:loaded', function(){
$('variante_286').observe('change', varianteSelected_286);
});
Run Code Online (Sandbox Code Playgroud)
问题是我开始在我的项目中使用jQuery,从那时起这个函数就停止了工作.我正在使用jQuery(1.3.2)和原型(1.6.1).
php ×2
algorithm ×1
boost ×1
boost-regex ×1
c ×1
c# ×1
c++ ×1
conflict ×1
fonts ×1
for-loop ×1
gd ×1
inheritance ×1
java ×1
javascript ×1
jquery ×1
linker ×1
linq-to-xml ×1
matlab ×1
minesweeper ×1
mysql ×1
pdo ×1
prototypejs ×1
python ×1
r ×1
range ×1
select ×1
string ×1
width ×1